Er, not to be a pedant, but why aren't you using PHP's built-in date/time functions?

check out date() and strtotime() to do what your shell commands currently do. For example, here're a few lines from code I've written:

$now = strtotime("tomorrow");
$end = strtotime("Last Wednesday", $now);   // Today's last Wednesday

$thismonth = strtotime(date("m/01/Y"));

for($m = 0; $m < 12; $m++) {
 $s = ($m > 0) ? "s" : "";
$t_month[(11 - $m)] = strtotime(date("m/d/Y", $thismonth) . " -$m month$s");
 $n_month[(11 - $m)] = date("M", $t_month[(11 - $m)]);
}


strtotime is pretty good at understanding English descriptions of moments in time, and date() can take a ton of arguments to format a date/time stamp.

PHP manual for date():
http://us2.php.net/manual/en/function.date.php
for strtotime():
http://us2.php.net/manual/en/function.strtotime.php

HTH,
~Brian


Matt Frye wrote:
Can someone tell me why the following code would not set $startdated
to the correct date?  Stuff inside the 'switch' seems to go into a
black hole, even when it evals correctly.

<?php

$day = `date +%A`;

print "<br>Day is $day - Before<br>";

switch ($day) {
case "Monday":
   print "<br>Day is $day - During<br>";
   $startdated = `date +%Y-%m-%d -d 'a week ago' `  ;
   break;
case "Tuesday":
   print "<br>Day is $day - During<br>";
   $startdated = `date +%Y-%m-%d -d '8 days ago' `  ;
   break;
}

print "<br>Day is $day - After<br>";

?>

--
----------------
Brian A. Henning
strutmasters.com
336.597.2397x238
----------------
--
TriLUG mailing list        : http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ  : http://trilug.org/faq/
TriLUG Member Services FAQ : http://members.trilug.org/services_faq/

Reply via email to