两个日期时间之间的分钟差

时间:2020-09-29 09:06:21

标签: php

我需要找到以这种格式写入的两个dateTime之间的分钟数差异。我收到此错误,请帮助:

未捕获的异常:DateTime :: __ construct():未能解析位置0(2)处的时间字符串(27/09/2020 01:00:19 AM):

$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');

2 个答案:

答案 0 :(得分:1)

解析日期格式时,php遵循specific rules

如果日期分隔符为/,则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

答案 1 :(得分:0)

您可以这样做:

$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');