我的日期时间格式无效。在需要时间的时间戳之后,我需要将12 hour format
时间转换为24 hour format
。所以我的代码是
$to = DateTime::createFromFormat('h:i A','1:00 AM');
echo $to->format('d M y H:i').'<br/>';
echo $to->getTimestamp();
我的第二行代码所需的结果是28 Sep 15 1:00 AM
的24小时格式,然后是此日期时间的时间戳。我的代码有什么问题?
我的问题是28 Sep 15 1:00 AM
的时间戳小于28 Sep 15 8:00 PM
的时间戳。但是为什么?
答案 0 :(得分:2)
https://en.wikipedia.org/wiki/Unix_time
...定义为自00:00:00以来经过的秒数 1970年1月1日星期四
-
我的问题是9月28日凌晨1点的时间戳小于 时间戳9月28日晚上8点。但是为什么?
作为时间戳&#34;自1970年1月1日星期四00:00:00以来经过的秒数&#34;显然,9月15日上午1:00将始终小于9月28日晚上8:00 PM,就像9月28日00:00 AM 一样小于28 Sep 15 00:00 < EM> PM 的
答案 1 :(得分:0)
在第一行之后添加此行:
$to->modify('+12 hours');
编辑: 我并没有真正得到你所需要的东西,所以你在这里有一些样品:
$am = DateTime::createFromFormat('h:i A','1:00 AM');
echo $am->format('d M y H:i'); // prints '28 Sep 15 01:00'
echo $am->format('d M y h:i A'); // prints '28 Sep 15 01:00 AM'
$pm = DateTime::createFromFormat('h:i A','8:00 PM');
echo $pm->format('d M y H:i'); // prints '28 Sep 15 20:00'
echo $pm->format('d M y h:i A'); // prints '28 Sep 15 08:00 PM'
此处的代码示例:https://3v4l.org/PvAGm