比较两个日期在PHP中的问题,分钟总是0
我需要设置相同的日期比较,我先用这个PHP代码练习,但是无论如何改变日期我最终得到的时间秒,但分钟总是0.顺便说一句,理想情况下,我希望能够写入欧洲格式的日期dd/mm/yy hh:mm
但是这不起作用,所以我将其调整为美国格式。无论如何感谢您的帮助。比较两个日期在PHP中的问题,分钟总是0
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";
你犯了一个简单的错误,用于表示间隔分钟的属性,其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
)
这可以合并到一个SQL查询中,我想加载所有项目的日期字段小于当前日期..它会像'SELECT * FROM table WHERE datefield
是的,但那真的是另一个问题。你也可以使用'WHERE datefield BETWEEN'2015-01-01 00:00:01'和'2015-02-01 00:00:01''语法 – RiggsFolly
我知道但我不想等90分钟问另一个问题,所以我非常感谢你能否帮助我。我真的不明白这是如何工作的,只要它低于当前时间,我不需要它在任何时间间隔 – Alk
使用$ interval-> i表示分钟数,$ interval-> m表示数月。
的可能重复的所有属性,你将如何设置日期[如何计算两个日期之间的差异使用PHP?](http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates-using-php) –
不,我已经检查所有这些想出这个代码,它不能解决问题,答案bel ow做到了。 – Alk