将不推荐使用的时区转换为php
我正在将windows时区映射到IANA,请使用此源代码 但问题是,对于其中一些人来说,只有不推荐的php列表中的IANA名称将不推荐使用的时区转换为php,php,windows,timezone,iana,Php,Windows,Timezone,Iana,我正在将windows时区映射到IANA,请使用此源代码 但问题是,对于其中一些人来说,只有不推荐的php列表中的IANA名称 对它们来说,什么是正确的替代方案?您可以尝试从此文件解析并映射它们: 您可以尝试从此文件解析并映射它们: 另一个选项: 使用可以从此表中获取csv文件:。 我认为这些数据不会很快改变,所以你可以下载一次并保存在你的项目中 如果查看status列,您可以看到可能存在Canonical或Alias值 如果此列是alias,则应从Notes列中获取规范时区的名称。 如果列
对它们来说,什么是正确的替代方案?您可以尝试从此文件解析并映射它们:
您可以尝试从此文件解析并映射它们: 另一个选项:
status
列,您可以看到可能存在Canonical
或Alias
值
Notes
列中获取规范时区的名称。
如果列是规范的-就是这样
status
列,您可以看到可能存在Canonical
或Alias
值
Notes
列中获取规范时区的名称。
如果列是规范的-就是这样
这样,我认为您将不会有空值对于为其应用程序选择特定时区的用户或开发人员而言,顶部的警告是合理的。然而,这些警告缺乏背景。具体而言:
- 该页面上列出的所有时区仍然是有效的IANA时区标识符。他们现在工作,将来也会继续工作
- 其中大多数是IANA数据库中的
条目,指向当前规范Link
条目。例如,区域
是指向Asia/Calcutta
的链接。两者都是有效的,可以在PHP和其他系统中使用Asia/Kolkata
- 除了几个罕见的例外,IANA区域名称从来都不是真正的“弃用”,它们只是被降级到链接中,变得不规范。当我把那个专栏添加到文章中时,我应该选择更好的措辞。(是的,就是我。也许我可以更新一下。)
- 一个罕见的例外是
,由于其较长的字符串长度和罕见的使用,IANA 2017c将其完全删除。如果数据库中有此项,请将其替换为加拿大/东萨斯喀彻温省
America/Regina
- 另一个罕见的例外是
,在IANA 2020b中被完全删除,因为它造成了很多混乱。它从来不是一个真正的时区,只是一个链接。如果数据库中有此项,请将其替换为US/Pacific New
America/Los_Angeles
- 一个罕见的例外是
是标准UTC区域。在大多数情况下,在服务器上设置默认时区时应继续使用它。它在任何方面都没有遭到反对Etc/UTC
- 以
或Etc/GMT+
开头的区域是非领海船舶的固定偏移标准区域。它们有时也用于其他边缘情况。他们并没有以任何方式遭到反对。它们的偏移量是有意反转的(Etc/GMT-
=UTC-12)Etc/GMT+12
此外,您可能不需要自己编写此代码。可以通过将
extension=PHP_intl.dll
添加到PHP.ini
文件中来安装PHP。然后可以使用类似的函数来执行映射。它在引擎盖下使用相同的CLDR文件。顶部的警告对于用户或开发人员为其应用程序选择特定时区是合理的。然而,这些警告缺乏背景。具体而言:
- 该页面上列出的所有时区仍然是有效的IANA时区标识符。他们现在工作,将来也会继续工作
- 其中大多数是IANA数据库中的
条目,指向当前规范Link
条目。例如,区域
是指向Asia/Calcutta
的链接。两者都是有效的,可以在PHP和其他系统中使用Asia/Kolkata
- 除了几个罕见的例外,IANA区域名称从来都不是真正的“弃用”,它们只是被降级到链接中,变得不规范。当我把那个专栏添加到文章中时,我应该选择更好的措辞。(是的,就是我。也许我可以更新一下。)
- 一个罕见的例外是
,由于其较长的字符串长度和罕见的使用,IANA 2017c将其完全删除。如果数据库中有此项,请将其替换为加拿大/东萨斯喀彻温省
America/Regina
- 另一个罕见的例外是
,在IANA 2020b中被完全删除,因为它造成了很多混乱。它从来不是一个真正的时区,只是一个链接。如果数据库中有此项,请将其替换为US/Pacific New
America/Los_Angeles
- 一个罕见的例外是
是标准UTC区域。在大多数情况下,在服务器上设置默认时区时应继续使用它。它在任何方面都没有遭到反对Etc/UTC
- 以
或Etc/GMT+
开头的区域是非领海船舶的固定偏移标准区域。它们有时也用于其他边缘情况。他们是Etc/GMT-
"Dateline Standard Time" "Etc/GMT+12" "Greenland Standard Time" "America/Godthab" "India Standard Time" "Asia/Calcutta" "Nepal Standard Time" "Asia/Katmandu"