写作时:
echo date('H:i:s', strtotime('Mar-29-2016')) . "<br />";
echo date('H:i:s', strtotime('Apr-3-2016'));
我希望得到:
00:00:00
00:00:00
但实际上得到:
00:00:00
16:16:00
更改为:
echo date('H:i:s', strtotime('March 29 2016')) . "<br />";
echo date('H:i:s', strtotime('April 3 2016'));
通过输出按预期工作:
00:00:00
00:00:00
strtotime()怎么样?我不明白吗?
答案 0 :(得分:1)
尝试:
echo date('H:i:s', strtotime('Apr-03-2016'));
strtotime函数需要一个包含英文日期格式的字符串,并尝试将该格式解析为Unix时间戳。
答案 1 :(得分:1)
&#34; APR-3-2016&#34;不是有效的PHP复合日期/时间字符串。将您的字符串转换为strtotime()
可识别的字符串。例如,将下面的第一个结果(您的字符串)与其他一些选项进行比较:
echo date('r', strtotime('Apr-3-2016')) . "\n";
echo date('r', strtotime('3-Apr-2016')) . "\n";
echo date('r', strtotime('2016-04-03')) . "\n";
echo date('r', strtotime('4/3/2016')) . "\n";
Sun, 03 Apr 2016 16:16:00 -0400
Sun, 03 Apr 2016 00:00:00 -0400
Sun, 03 Apr 2016 00:00:00 -0400
Sun, 03 Apr 2016 00:00:00 -0400
转换你的&#34; Apr-3-2016&#34;格式为&#34; 2016年4月3日&#34;,例如:
$date = "Apr-3-2016";
list($m, $d, $y) = explode("-", $date);
$newdate = join("-", array($d, $m, $y));
答案 2 :(得分:0)
似乎Apr-3-2016
不是有效的日期格式。来自php docs
Month abbreviation, day and year M "-" DD "-" y "May-09-78", "Apr-17-1790"