我正在尝试将用户输入的12小时时间转换为24小时时间,因此我可以更好地对其进行排序和报告。无论输入什么,下面的代码都会返回16:00。
$starttime1 = date("H:i", strtotime("$starttime"));
在这种情况下,送到$ starttime的是g:i:s:A或4:00:00:AM
在搜索的最后一小时,似乎是日期函数无法获取正确信息的问题,所以我尝试了DateTime :: createFromFormat
$starttime = DateTime::createFromFormat('g:i:s:A', $starttime);
$starttime1 = $starttime->format( 'H:i');
生成null
我觉得我在做一些愚蠢的事情......需要从编码中休息一下并保持谷歌搜索,但希望有人能指出我正确的方向。
答案 0 :(得分:1)
这可能是因为你的时间字符串中有:AM
。它应该是一个空格而不是:
$time = '4:00:00 AM';
$time = date('H:i', strtotime($time));
$time
的var_dump将是:
string(5) "04:00"