gpt4 book ai didi

php - 将UTC日期时间转换为欧洲/里斯本

转载 作者:行者123 更新时间:2023-12-04 07:49:08 24 4
gpt4 key购买 nike

我想为欧洲/里斯本转换日期 UTC,但我的代码给了我不同的输出/时间:

$datafull = "13-04-2021 08:47:13";

$date = new DateTime($datafull);
$date->setTimezone(new DateTimeZone('Europe/Lisbon'));
echo $date->format('d-m-Y H:i:s (e)');
// 13-04-2021 09:47:13 (Europe/Lisbon)

$datetime = new DateTime($datafull, new DateTimeZone('Europe/Lisbon'));
print $datetime->format('d-m-Y H:i:s (e)');
// 13-04-2021 08:47:13 (Europe/Lisbon)

最佳答案

当您向 DateTime 提供时区对象时构造函数你告诉它在什么时区给 $datafull是。所以在:

$datetime = new DateTime($datafull, new DateTimeZone('Europe/Lisbon'));
你说它在欧洲/里斯本,它就留在那里。
在其他代码中:
$date = new DateTime($datafull);
$date->setTimezone(new DateTimeZone('Europe/Lisbon'));
DateTime 时使用默认时区已构建,可能是您服务器上的 UTC,然后您在第二行将其更改为欧洲/里斯本,这是提前一个小时。
见: DateTime::__construct

关于php - 将UTC日期时间转换为欧洲/里斯本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67072358/

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