虽然Perl很强大,但是作为制作Web页面来说,Perl还是比PHP稍逊一筹,新版本的PHP5.1.5发布以后,不仅仅时区发生了变化,很多的函数用法和一些基本结构也产生了变化,所以不能按照老一套思路进行程序编写.
拿strtotime函数来说:
本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。如:本函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get() 函数页面中有说明。
参数
time
被解析的字符串,格式根据 GNU 日期输入格式的语法。在 PHP 5.0 之前,time 中不允许有毫秒数,自 PHP 5.0 起可以有但是会被忽略掉。now
用来计算返回值的时间戳。
返回值
成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。
$temp_time_stamp = strtotime("-$i day", strtotime("$year-$month-$day"));在以前版本中,计算值可以字符串中运行,而5.1.5以后不能运行会产生一个空值,不知道这个是为了规范化还是一个官方的BUG,若写成这样就没有问题了:
$temp_time_stamp = strtotime(-$i . " day", strtotime("$year-$month-$day"));