if(strtotime($date_in)==false){
echo $date_in." wtf?";
}
2012-05-12跆拳道?
为什么strtotime($date_in)
返回false
?
if(strtotime($date_in)==false){
echo $date_in." wtf?";
}
2012-05-12跆拳道?
为什么strtotime($date_in)
返回false
?
尝试:
if(strtotime($date_in)===false){
echo "[$date_in] wtf?";
}
如果测试false
始终使用===
。同样用括号包裹$date_in
变量可以帮助您查看是否有空白。
虽然它的良好做法 - 这不是问题.... – ManseUK
thx很多它是一个空白我做$ date_in = trim($ date_in),一切都好。 – szapio
@szapio记得投票并接受。 – iambriansreed
我试图复制这一问题,有成功,但只有后,我改变了默认时区到:
date_default_timezone_set('Europe/Brussels');
这样,也许你可以检查你的ini文件,或使用date_timezone_get
并确保您的设置知道如何处理您使用的日期格式?
另外,或者如果php.ini由于某种原因不能使用限制,您可以查看datetime object。
Thx all for response它是$ date_in变量中的空格。我使用数据库中的值(mysql中的日期字段)填充$ date_in。不知道为什么它返回空白,但这是问题所在。 – szapio
该死的,想过提示'trim()' - 或许检查数据库中的字段是否设置为varchar - 带空格填充? –
取决于$ date_in上的值 –
如果您检查false,请始终使用'==='运算符。 – kapa
看看允许的日期/时间格式:http://de.php.net/manual/en/datetime.formats.php – mAu