PHP将日期从EEST转换为UTC返回错误的时间一小时

我的 PHP 转换日期不正确,答案是一小时,我认为问题是 PHP 认为此时欧洲/维尔纽斯是 EEST 时间,这应该意味着 UTC+3,但此时它实际上是 UTC+2 . 任何帮助如何解决这个问题将不胜感激。祝你有美好的一天!


我的代码:


$timezone = new DateTimeZone('Europe/Vilnius');

$UTCtimezone = new DateTimeZone('UTC');

$UTC_time = new DateTime($raw_date, $timezone); --> $raw_date is '2020-04-18 13:48:22'

此时日期读取 = 2020-04-18 13:50:05 EEST,除了 EEST 位外,这是正确的。


$UTC_time->setTimezone($UTCtimezone);

此时日期为 2020-04-18 10:50:05 UTC,现在不正确,因为 UTC 时间现在应该是 2020-04-18 11:50:05


有任何建议的人都会有很多业力点!


慕码人8056858
浏览 117回答 1
1回答

回首忆惘然

欧洲/维尔纽斯现在(2020-03-19)使用 EET(东欧时间),即 UTC+2。2020-03-29 欧洲/维尔纽斯将改为夏令时 EEST(东欧夏令时间),即 UTC+3。您的示例日期 2020-04-18 在该更改之后,因此它将比 UTC 早 3 小时。尝试今天的日期,相同的代码应该显示欧洲/维尔纽斯和 UTC 之间的 2 小时差异。
打开App,查看更多内容
随时随地看视频慕课网APP