我正在尝试在php
中将字符串转换为时间strtotime
操作
这是我的代码
echo date("Y-m-d", strtotime('2 January, 2017'));
当我为2 January, 2016
转换时,结果为2016-01-02
但是当我为2 January, 2017
转换时,结果为2016-01-02
,预计为2017-01-02
代码中的问题是什么?我该如何解决这个问题?帮助请
答案 0 :(得分:3)
改为使用DateTime::createFromFormat
:
$date = DateTime::createFromFormat('d F, Y', '2 January, 2017');
echo $date->format('Y-m-d');
strtotime
无法阅读2 January, 2017
。 2 January, 2016
产生正确的结果只是因为当前年份。在这种情况下2 January, 2016
=== 2 January
。