gpt4 book ai didi

php - 在给定 ISO 8601 日期时间和时区的情况下在 PHP 中获取本地时间

转载 作者:行者123 更新时间:2023-12-05 03:09:41 28 4
gpt4 key购买 nike

我正在尝试根据祖鲁时间中的 ISO 8601 格式日期时间字符串和时区字符串来获取本地时间。我阅读了有关 DateTime 对象和 DateTimeZone 的 PHP 文档,并且尝试了很多东西,但我似乎无法获得正确的本地时间。我现在拥有的:

$datetime = '2017-05-29T10:30:00Z'; // I'm getting this value from an API call
$timezone = 'Europe/Prague'; // I'm getting this value from an API call
$date = new \DateTime( $datetime, new \DateTimeZone( $timezone ) );
var_dump( $date->format('H:i') );
// I would expect it to be 12:30 since 29th May for this timezone would be GMT+2, but I get 10:30

很明显,我遗漏了有关 DateTime 和 DateTimeZone 类的一些内容,但我无法正确处理。任何人都可以帮助我吗?

最佳答案

所以我终于做对了,对于任何感兴趣的人:

$datetime = '2017-05-29T10:30:00Z'; // I'm getting this value from an API call
$timezone = 'Europe/Prague'; // I'm getting this value from an API call
$date = new \DateTime( $datetime, new \DateTimeZone( 'UTC' ) ); // as the original datetime string is in Zulu time, I need to set the datetimezone as UTC when creating
$date->setTimezone( new \DateTimeZone( $timezone ) ); // this is what actually sets which timezone is printed in the next line
var_dump( $date->format('H:i') ); // yay! now it prints 12:30

关于php - 在给定 ISO 8601 日期时间和时区的情况下在 PHP 中获取本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42043629/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com