日期代码未转换为正确的日期格式

时间:2018-02-14 11:07:35

标签: php date date-formatting

我很困惑为什么我的日期在进入mysql之前被转换为unix默认值。我确信代码是正确的,但无法理解为什么这不起作用。它应该将我发布的日期转换为脚本。

如果有人能检查代码并指出我的错误,我将不胜感激。非常感谢。

  

Post:22/08/2017 05:03:29输出:1970-01-01 12:00:00

\

1 个答案:

答案 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