strtotime('31.07.2017 08:17')
输出1501478160
正好 12h 之前(31.07.2017 08:17 pm UTC + 02:00)但既然是我给它的军事时间,那么早上它应该是 08:17 !
我已正确设置所有time zones
我在这里错过了什么?如何告诉strtotime
我想以24小时格式给出时间?
由于
答案 0 :(得分:0)
strtotime
涉及一些猜测,以弄清楚你的输入意味着什么。我自己测试了它并获得08:17
(AM),因此区域设置可能与它有关。
无论如何,如果您知道格式,那么您应该更喜欢DateTime::createFromFormat()
并准确地告诉它:
$dt = DateTime::createFromFormat('!d.m.Y H:i','31.07.2017 08:17');
您现在可以使用该对象执行各种操作,并最终:
echo $dt->format('Y-m-d\TH:i:s'); // or whatever format you want
答案 1 :(得分:0)
只需替换
strtotime('31.07.2017 08:17');
带
strtotime('31.07.2017 08:17PM');
再次检查。
只需在字符串