我需要找到这两个dateTime之间的分钟差,格式就是这样写的。我收到这个错误,请帮助:
未捕获的异常:DateTime::__construct((:无法分析位置0(2(处的时间字符串(2020年9月27日凌晨01:00:19(:
$datetime1 = new DateTime('27/09/2020 01:00:19 AM');
$datetime2 = new DateTime('27/09/2020 01:00:19 AM');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%hh %im');
解析日期格式时,php遵循特定规则:
如果日期分隔符是/
,那么php将尝试使用美国格式mm/dd/y
或符号YY/mm/dd
您可以在使用DateTime::createFromFormat()
:创建对象时指定日期/时间格式
$datetime1 = DateTime::createFromFormat('d/m/Y g:i:s a', '27/09/2020 01:00:19 AM');
$datetime2 = DateTime::createFromFormat('d/m/Y g:i:s a', '27/09/2020 01:00:19 AM');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%hh %im');
该输出:
0h 0m
Fiddle
您可以这样做:
$datetime1 = new DateTime(str_replace('/','-','27/09/2020 01:00:19 AM'));
$datetime2 = new DateTime(str_replace('/','-','27/09/2020 01:00:19 AM'));
$interval = $datetime1->diff($datetime2);
echo $interval->format('%hh %im');