PHP unix时间戳比较

时间:2015-12-18 14:57:53

标签: php time unix-timestamp

我有一个活动日期&存储在我的数据库中的时间,该时间保存为PHP unix时间戳。我试图检查今天是否大于事件的日期和时间。

问题是 - 我试图使用当地时间(America / New_York)检查它,但我得到了2个不同的时区。 time()显示在EST中,我的数据库以UTC显示

有没有办法正确检查?

我在数据库中的活动日期: 1450447200(2015年12月18日下午2:00)

我试图将它与php time()

进行比较 我可能做错了吗?

* 更新 - 答案 *

根据this answer我最终做到了这一点:

$utc_str = gmdate("M d Y H:i:s", time());
$today = strtotime($utc_str);

$event_datetime = $Event_timestamp;
date_default_timezone_set("America/New_York");
$utc_str_event = gmdate("M d Y H:i:s", $event_datetime);
$event_date = strtotime($utc_str_event);
if($today >= $event_date){
    //Do Something
}

2 个答案:

答案 0 :(得分:4)

您的服务器上可能有错误的日期。 time()总是应该返回纪元(epoch = UTC)。

顺便说一句。将日期保存为数据库中的int它不是最佳实践

答案 1 :(得分:-2)

我不知道这是否正确,但您是否尝试过使用date_default_timezone_set

相关问题