日期("Z")表示特定日期(不是现在)

  • 本文关键字:日期 表示 php
  • 更新时间 :
  • 英文 :


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));
您不能,因为您的日期时间字符串不包含任何TZ信息。如果调用date('Z'),它将使用date_default_timezone_set()设置的TZ或.ini date.timezone默认值。

客观地说,如果你有一个时间串,上面写着"现在是凌晨3点",你不知道现在凌晨3点在世界上的什么地方。如果我告诉你的话,那将是GMT-6,因为我在CST,但在萨斯喀彻温省,那里根本不实行夏令时,所以我的CST与其他人的CST不同。

但你不知道我在萨斯喀彻温。如果我说现在是凌晨3点,但我实际上在日本,那么这是一个完全不同的时区,但你绝对无法仅仅通过"凌晨3点"来判断我在哪个时区。

最多可以将服务器的本地时间与给定的时间字符串进行比较,并计算出偏移量。我说现在是凌晨3点,你知道现在是凌晨5点,所以很明显我在一个比你晚2小时的地方。

最新更新