我需要找到以这种格式写入的两个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');
答案 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
答案 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');