gpt4 book ai didi

php - PHP 中的时区

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:52:13 24 4
gpt4 key购买 nike

PHP 似乎使用了一种相当烦人的方法来设置环境时区,使用区域名称而不是 GMT 偏移量。这使得时区下拉列表变得非常痛苦,因为它要么必须很大以容纳所有可能的 PHP 时区值,要么我必须找到一种方法将 GMT 偏移量转换为有效值以传递给 PHP。

那么,给定一个 GMT 偏移量,我该如何在 PHP 中设置时区?例如,如何将 GMT 偏移值“-8.0”转换为可以传递给 date_timezone_set() 的值?

最佳答案

使用地区名称是描述时区的正确方式。单独使用 GMT 偏移量是非常模糊的。

这反射(reflect)在您的问题中 - 您应该如何将 -8 的 GMT 偏移量转换为时区?好吧,这取决于“GMT -8”的真正含义。它是指“每个时间点的 UTC -8”还是“冬季时间为 UTC -8,夏季时间为 UTC -7”?如果是后者,冬天什么时候开始和结束?

希望 PHP 接受一组众所周知的“固定”(无 DST)时区值,例如“Etc/GMT+3”等等。但是除非你真的,真的是指一个固定的时区,否则你最好找出你实际谈论的是哪个地区,否则你的计算几乎肯定在某个时候是错误的.

去年的大部分时间里,我一直在与时区作斗争。他们很痛苦 - 特别是当一些区域改变他们的 DST 规则(就像美国几年前所做的那样)或者当一些区域似乎随意选择加入和退出 DST 时。试图用一个数字反射(reflect)所有这些是愚蠢的。如果您只对一个瞬间感兴趣,那可能没问题——但此时您不妨首先存储 UTC 值。否则,名称是最好的方法。 (请注意,在这一点上不一定一帆风顺。甚至名称也会随着时间而改变...)

关于php - PHP 中的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744893/

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