-1
if(strtotime($date_in)==false){
    echo $date_in." wtf?";
}

输出:

2012-05-12 怎么回事?

为什么 strtotime($date_in)返回false

4

2 回答 2

3

尝试:

if(strtotime($date_in)===false){
    echo "[$date_in] wtf?";
}

如果测试false总是使用===. 还$date_in用括号括起来变量可以帮助您查看是否有任何空格。

http://php.net/manual/en/function.strtotime.php

于 2012-05-15T11:32:42.117 回答
2

我试图成功地复制这个问题,但只有在我将默认时区更改为:

date_default_timezone_set('Europe/Brussels');

所以,也许你可以检查你的 ini 文件,或者使用date_timezone_get并确保你的设置知道如何处理你正在使用的日期格式?

或者,或者如果 php.ini 出于某种原因不受限制,您可以查看datetime object

于 2012-05-15T11:46:57.353 回答