从2个日期之间的差异获取日期对象,时区依赖

时间:2012-04-25 16:56:27

标签: php

我有一个日期存储在数据库中,时区为UTC,日期是现在提前几天/小时/分钟。 然后我需要计算现在和给定日期之间的时间差异,同时记住可能有不同的时区在起作用。

我一直在做以下事情,但由于没有考虑时区,这是错误的。

$interval = date_create('now')->diff(date_create($listing_end_date));
//$interval->d = days
//$interval->h = hours
//$interval->i = minutes

如何在考虑时区的情况下执行上述操作?

1 个答案:

答案 0 :(得分:2)

您需要将第二个参数传递给date_create,告诉它$listing_end_date中的日期代表什么时区。例如,假设字符串是UTC:

$interval = date_create('now')->diff(date_create($listing_end_date, 
                                                 new DateTimeZone('UTC')));