Php 比较Unix时间戳时的时区帐户

Php 比较Unix时间戳时的时区帐户,php,mysql,wordpress,Php,Mysql,Wordpress,在wordpress中,我将日期存储为Unix时间戳 因此,今天将存储为1411344000 2014/22/09。基本上,我希望以UNIX时间戳的形式获取今天的日期,然后计划与wp_查询进行一些比较 我正在做这样的事情: date_default_timezone_set('UTC'); $date1 = date('Y/m/d'); $date2 = strtotime($date1); 然后我使用$date2与存储的时间戳进行比较。这适用于一天中的大部分时间,但它不考虑我的时区,即PST

在wordpress中,我将日期存储为Unix时间戳

因此,今天将存储为1411344000 2014/22/09。基本上,我希望以UNIX时间戳的形式获取今天的日期,然后计划与wp_查询进行一些比较

我正在做这样的事情:

date_default_timezone_set('UTC');
$date1 = date('Y/m/d');
$date2 = strtotime($date1);
然后我使用$date2与存储的时间戳进行比较。这适用于一天中的大部分时间,但它不考虑我的时区,即PST。所以,太平洋标准时间下午4点左右,我所有的约会比较都停止了。我不知道如何正确地解释这8个小时的时差,我很困惑,试图把我的思想围绕它


建议?

UNIX时间戳已唯一标识时间-它不依赖于时区。所以,若数据库中有UNIX时间戳,只需将其与当前UNIX时间戳进行比较

根据您要执行的操作,您可以仅比较这些整数以获得秒为单位的差值,或者从中生成\DateTime或表示日期的字符串

如果要检查当前日期是否与保存的日期匹配,则应指定要计算日期的时区

date_default_timezone_set('UTC');
var_dump(date('Y-m-d') === date('Y-m-d', $timestampFromDb));

将日期存储为date,而不是Int为什么不将默认时区设置为时区而不是UTC?存储的时间戳基于历元。基本上,我希望能够将存储的unix时间戳与日期匹配,然后将日期传递给strotime作为今天的时间戳。我读过其他帖子提到你需要手动减去时差,但我不知道怎么做。谢谢你的回复。我在Wordpress/wp_查询中工作,需要比较一个设置值,该设置值是一个日期的时间戳,时间戳为0小时0秒。因此,2014年9月22日将是1411344000。我真正需要做的是获取今天的时间戳,其中0小时0秒引用时区。然后将其存储在变量中。可能?$date=新日期时间'today 00:00',新日期时区'UTC'$var=$date->getTimestamp;或日期\默认\时区\设置为“UTC”$var=标准时间“今天00:00”;谢谢这更近了。但仍然没有按它看起来应该的方式考虑时区,我不知道为什么。现在是太平洋标准时间5点14分。下午5点之前,var等于1411344000美元,这就是我想要的。PM之后,它将更改为明天的值。我试着将date\u default\u时区更改为America/Los\u Angeles,但没有成功。它输出到1411369200。