date('Z')-时区偏移量(以秒为单位)。UTC以西时区的偏移量始终为负,UTC以东时区的偏移值始终为正。
因此,这是目前(此时此刻)的一个偏移量。
是否有任何方法可以获得特定时间(例如:2012-02-17 12:00)的偏移量(以秒为单位)。
我知道我可以使用DateTime类来实现这一点。但是,仅仅使用date()就可以实现这一点吗?
编辑:
如果服务器在多伦多并且是夏天=>日期('Z')=>-14400
如果服务器在多伦多并且是冬天=>日期('Z')=>-18000
将strtotime与日期一起使用:
$getDate = '2012-02-17 12:00';
date('Z',strtotime($getDate));
date('Z')
,它将使用date_default_timezone_set()
设置的TZ或.ini date.timezone
默认值。
客观地说,如果你有一个时间串,上面写着"现在是凌晨3点",你不知道现在凌晨3点在世界上的什么地方。如果我告诉你的话,那将是GMT-6,因为我在CST,但在萨斯喀彻温省,那里根本不实行夏令时,所以我的CST与其他人的CST不同。
但你不知道我在萨斯喀彻温。如果我说现在是凌晨3点,但我实际上在日本,那么这是一个完全不同的时区,但你绝对无法仅仅通过"凌晨3点"来判断我在哪个时区。
最多可以将服务器的本地时间与给定的时间字符串进行比较,并计算出偏移量。我说现在是凌晨3点,你知道现在是凌晨5点,所以很明显我在一个比你晚2小时的地方。