php日期函数返回错误的值


php date function returning incorrect value

我正试图在php中将用户输入的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');

生成空

我觉得我在做傻事。。需要从编码中休息一下,并将继续在谷歌上搜索,但希望有人能给我指明正确的方向。

这可能是因为您的时间字符串中有一个:AM。它应该是一个空间,而不是:

$time = '4:00:00 AM';
$time = date('H:i', strtotime($time));

$time的var_dump为:

string(5) "04:00"