我很困惑为什么我的日期在进入mysql之前被转换为unix默认值。我确信代码是正确的,但无法理解为什么这不起作用。它应该将我发布的日期转换为脚本。
如果有人能检查代码并指出我的错误,我将不胜感激。非常感谢。
Post:22/08/2017 05:03:29输出:1970-01-01 12:00:00
\
答案 0 :(得分:2)
d/m/Y
不是PHP日期解析器识别的date formats之一
给定日期组件中的位数,解析器假定为m/d/Y
,并且因为22
不是有效月份数,它会失败并且strtotime()
会返回0
。
您可以使用DateTime::createFromFormat()
告诉解析器您使用的格式:
$date = DateTime::createFromFormat('d/m/Y H:i:s', '22/08/2017 05:03:29');
echo($date->format('Y-m-d H:i:s'));
# 2017-08-22 05:03:29