为什么我在IIS上遇到PHP日期函数的问题


Why I am running into problems with a PHP Date function on IIS?

我正在开发一个PHP网站,但我只是想在一些IIS主机上快速测试它(在原始网站的子域上使用经典ASP)

整个页面在下一个代码片段的第三行之后下降:

$datestring= requestQS("year") . '-' . $monthNumber . '-01 first day of next month';
$dt=date_create($datestring);
$nextMonth = $dt->format('Y-m-d');

致命错误:在

中的非对象上调用成员函数format()

php版本是5.2.17,所以日期的东西应该工作对吗?

它在我的WAMP安装上运行良好。

什么线索吗?

  1. 你必须告诉PHP报告错误

    error_reporting(E_ALL);
    ini_set('display_errors',1);
    

  2. 您必须设置默认时区

嗯,我会说你正在尝试以错误的方式转换$dateString。

试试这个:

$dateFormat =requestQS("year") . '-' . $monthNumber . '-01';
$dateString = $dateFormat.'first day of next month';
$dt = DateTime::createFromFormat('Y-m-d', $dateFormat ); 
$nextMonth = $dt->format('Y-m-d');