【问题标题】:Convert Zulu/GMT to Local TimeZone将 Zulu/GMT 转换为本地时区
【发布时间】:2015-02-14 15:41:06
【问题描述】:

我有一个这样的格式(GMT,ISO 8601)的日期:

2015-02-19T01:00:00.000Z

我想将其转换为本地时区,例如 Europe/Lisbon

$date = new DateTime( '2015-02-19T01:00:00.000Z' , new DateTimeZone('GMT'));
$date->setTimezone( new DateTimeZone('Europe/Lisbon') );
echo $date->format('F j, Y');

但它返回第 19 天,预计第 18 天,我错过了什么?

【问题讨论】:

  • 生成 DateTime 对象时,如果第一个参数中已经指定了时区,则忽略第二个参数(时区)。请参阅this link 上的注释。就像答案中已经说过的那样,当前时区Europe\Lisbon 现在位于+00:00 偏移量中,因此应该得到相同的结果,demo

标签: php date datetime


【解决方案1】:

除非我在这里遗漏了什么,否则欧洲/里斯本是格林威治标准时间,因此可以预期得到相同的结果。

【讨论】:

  • 那么第 18 天应该在哪个时区?
  • (GMT-2) Cap Vert,等等......欧洲西部的一切,直到您到达国际日期变更线。
猜你喜欢
  • 2016-04-07
  • 2011-01-04
  • 2014-10-25
  • 2012-08-28
  • 2019-03-20
  • 2011-04-23
  • 2013-10-29
相关资源
最近更新 更多