我需要设置相同的日期比较,我首先使用这个PHP代码练习,但无论我如何更改日期,我最终得到小时和秒,但分钟总是0.顺便说一句,理想情况下,我希望能够以欧洲格式dd/mm/yy hh:mm
编写日期,但这不起作用,所以我将其调整为美国格式。无论如何,谢谢你的帮助。
date_default_timezone_set('Europe/London');
$date= new DateTime('2015-06-21 18:32:00');
$now = new DateTime();
$interval = $date->diff($now);
echo "difference " . $interval->d . " days, " . $interval->h." hours, ".$interval->m." minutes";
答案 0 :(得分:2)
使用$ interval-> i代表分钟,$ interval-> m代表数月。
答案 1 :(得分:2)
您使用用于表示间隔分钟的属性(i
而不是m
)犯了一个简单的错误。 m
实际上是Months属性。
这也是您使用欧洲格式
设置日期的方式$date = DateTime::createFromFormat('d/m/Y H:i:s', '21/06/2015 18:32:00');
$now = new DateTime();
$interval = $date->diff($now);
echo "difference " . $interval->d . " days, " . $interval->h." hours, ".$interval->i." minutes";
如果您执行print_r($interval)
,您将看到所有类似的属性
DateInterval Object
(
[y] => 0
[m] => 0
[d] => 0
[h] => 6
[i] => 4
[s] => 15
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 1
[days] => 0
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)