2013-05-21 70 views
0

我正在开发一个PHP网站,但我只是想在一些IIS托管服务上进行快速测试(在原始网站的子域上使用的是经典ASP)为什么我遇到IIS上PHP日期函数的问题?

整个页面在第三行后下一个片段:

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

Fatal error: Call to a member function format() on a non-object in

PHP版本5.2.17是如此日期东西应该工作的权利?

它在我的WAMP安装上工作正常。

任何线索?

+0

您有哪些问题?显示哪条消息?在尝试转换之前'dateString'的内容是什么? – Alvaro

+0

$ datestring在3贴的第一行设置。没有错误信息,在第三行执行后没有任何错误消息 –

+0

@我知道它在那里,我要你告诉我的是变量分配后的内容。在它后面执行'echo或'var_dump' ... – Alvaro

回答

0

嗯,我会说你试图以错误的方式转换$ 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'); 
+0

此代码适用于php vesions 5.3.0以上版本。谢谢! –

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

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

    是最起码

  2. 你必须set default time zone

+0

阿尔我认为我打开了错误,显然不是。我编辑错误的问题! –

+0

[**返回一个新的DateTime实例。程序样式在失败时返回FALSE。**](http://www.php.net/manual/en/datetime.construct.php) –

+0

谢谢我已阅读过。现在有道理! –

相关问题