strftime 或仅 PHP 是否弃用了“美国/东部”、“美国/中部”和“美国/太平洋”?

2023-11-22

我有一个 shell 脚本(准确地说是 zsh),它使用

strftime "%I:%M %p %Z (%a, %b %d)" "$EPOCHSECONDS"

生成“当前时间”,例如

“中部标准时间 02:45 PM(3 月 1 日星期四)”

这需要能够显示几个不同的美国时区的时间,因此我一直使用“美国/东部”、“美国/中部”和“美国/太平洋”,如下所示:

export TZ='US/Eastern'
strftime "%I:%M %p %Z (%a, %b %d)" "$EPOCHSECONDS"

这似乎工作得很好,我更喜欢使用 TZ='America/CityName' 因为它不需要我知道哪个城市位于哪个 TZ,我只需要告诉它我想要哪个 TZ。

然而,我却碰巧遇到了http://www.php.net/manual/en/timezones.others.php看到它说

请不要使用此处列出的任何时区(UTC 除外), 它们的存在只是出于向后兼容的原因。

我不知道美国/地区名称有什么问题,但我很想知道使用它们是否可能在可预见的将来引起问题,或者它们仍然可以安全使用吗?是只是 PHP 不喜欢它们,还是每个人都在远离它们?


Olson 数据库中命名时区的标准格式是大陆/城市。您提到的“旧”名称(例如 US/Eastern、US/Central 等)在 tzdata 源发行版中列为向后兼容链接(在文件“backward”中)。根据文件顶部的注释,这些名称可能在 1993 年末已成为向后兼容链接。

我想我记得读过这个标准被采用是因为它被认为更稳定:地缘政治(国家)边界发生变化,城市永远不会移动。也许还因为像“东部”和“中部”这样的名字被认为更容易混淆,因为它们意味着世界不同地区的不同时区。但是,我目前找不到任何有关命名原理的参考资料,因此请不要引用我的观点。

最好使用大陆/城市风格的名称。请注意,像 Debian 和 Ubuntu 这样的操作系统会要求您使用这些名称选择系统时区(除非它们在安装时自动检测),使用这些名称您实际上并不需要,正如您所说,“知道哪个城市位于which TZ" 因为城市名称是时区名称的一部分!因此,如果您碰巧学习了大陆/城市名称而不是国家/地区名称,或者除了国家/地区名称之外,您已经没问题了。

话虽这么说,我不认为这些名字会消失。在时区邮件列表中,它们绝对总是被称为“向后兼容性”,而不是“已弃用”,并且无论 PHP 有何建议,它们都打算保留。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

strftime 或仅 PHP 是否弃用了“美国/东部”、“美国/中部”和“美国/太平洋”? 的相关文章

  • 使用 pythons strftime 显示日期,例如“5 月 5 日”? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 日期顺序输出 https stackoverflow com questions 739241 python date ordinal output 在Python中 time strf
  • Oh-my-zsh 哈希(井号)符号错误模式或未找到匹配项

    我很确定是与我的 Oh my zsh 配置相关的东西 但我不知道它是什么 当我在 git 命令中使用 符号时 但也适用于其他所有命令 例如 ls 2 我收到 错误模式 错误或 找不到匹配项 我猜是要计算一些东西 但我找不到在哪里配置它 I
  • SharePoint DateTime 默认值尊重时区

    我有一个日期时间字段 仅限日期 它使用 今天的日期 作为默认值 但是 当用户将项目添加到列表时 选择的日期对应于 GMT 时区 因此 如果用户在 2012 年 2 月 22 日晚上 7 点 美国东部标准时间 添加项目 则默认值实际上将显示为
  • 全日历和时区。求助,我做错了

    我不知何故做错了 我被时区绊倒了Fullcalendar 我尝试过设置ignoreTimezone真与假 不过似乎并不重要 它在下面的代码中的两个地方 因为我不确定它在哪里 我的数据源是隐藏的表单字段 数据流转out of FullCale
  • 关于 mongodb java 驱动程序的困惑[重复]

    这个问题在这里已经有答案了 我是 MongoDB 的初学者 我正在使用 JAVA 驱动程序来使用它 我有以下代码 MongoClient client new MongoClient DB d client getDB world DBCo
  • 如何在 SQL 中的时区中使用“America/New_York”

    我有这段代码在 SQL 中运行良好 但是我想使用不同的时区格式 例如 America New York 代替 US Eastern Standard Time SELECT TODATETIMEOFFSET CAST CURRENT TIM
  • MKPolylineView initWithPolyLine:在 iOS 7 中已弃用

    我收到以下错误 initWithPolyline 已弃用 首先在 iOS 7 0 中弃用 MKPolylineView lineView MKPolylineView alloc initWithPolyline overlay 代替这个的
  • 全日历与 UTC 和本地日期的混淆

    我确实让 fullcalendar 正常初始化 所以它代表当前日期 午夜 gt 午夜 1 天 1 小时时段 我从其他一些数据源获取带有时间戳的数据 格式为 YYYY MM DD HH mm 作为字符串传输 无时区信息 因此 我将该字符串转换
  • SQLite 返回错误的 2013 年周数?

    我有一个简单的 SQL 来计算 SQLite 报告中的周数 SELECT STRFTIME W date column 2009 2012 年的数据是正确的 2013 年我总是得到错误的周数 例如 SELECT STRFTIME W 201
  • 如何在Windows的node js中设置默认时区

    我正在尝试在应用程序启动时设置时区 set TZ UTC node main js 但这不起作用 main js var tz process env TZ var date new Date console log tz date UTC
  • Azure 时区和 javascriptserializer 对象

    我有一个基于预测的应用程序 位于 Windows Azure 上 http ipredikt com http ipredikt com 据我所知 Azure 的时钟已与 GMT 时区同步 这是我遇到的一个问题 假设我有一个名为 Creat
  • 如何在 PHP 5.5 中获取文件的 MIME 类型?

    我在用mime content type 在 PHP 5 5 中获取 MIME 类型 但它抛出fatal error function not found 如何在 PHP 5 5 上实现这一目标 利用finfo http www php n
  • PHP 7.4 已弃用 get_magic_quotes_gpc 函数替代

    我遇到了我的旧代码之一正在使用的情况get magic quotes gpc 最新版本已弃用PHP 版本 7 4 目前 我有这样的事情 添加斜杠 return get magic quotes gpc addslashes string s
  • 需要帮助打印清单

    我正在用 Python 处理待办事项列表 目前我一直在打印待办事项列表 我有我的添加代码和查看代码 if sel 1 add task name input enter task name prio input enter priority
  • 使用运算符 j 操作 zsh 数组

    以下代码摘自here http eseth org 2010 git in zsh html function vi git st local ahead behind remote local a gitstatus Are we on
  • PHP 时区问题 |英国夏令时和格林威治标准时间

    我开发了一个应用程序 它记录某些记录的修改和创建时间 所以基本上我们使用time 保存更改时进行记录的功能 我在英国 所以我的时区必须是 GMT 然而在英国 我们使用夏令时 所以在夏天我们不再使用格林尼治标准时间 而是使用英国夏令时 我如何
  • 为什么不推荐使用本机 Visual C++ 中的事件处理?

    http msdn microsoft com en us library ee2k0a7d aspx http msdn microsoft com en us library ee2k0a7d aspx 还支持事件处理 本机 C 类 C
  • UNIX时间记录时区吗?

    我想问一下UNIX时间 UNIX时间是否记录时区 我将托管从美国芝加哥移至 JST 问题是我的整个 MySQL 数据库都有 UNIX 时间 芝加哥 美国时区 的记录 我有一个 PHP 代码来显示之前的时间 例如 3 天前 昨天等 当我搬到新
  • ClientRequestFactory RestEasy 已弃用...还有其他 RestEasy 替代方案吗?

    我需要使用其他人创建的 RestService 的接口来创建轻松的客户端 这工作很好 除了一件事 当我从rest easy 2 3 5 Final更新到resteasy 3 0 x时 Client RequestFactory类看起来像 D
  • 如何在数据库中保存未来(!)日期

    这个问题专门涉及未来的日期和时间 对于过去的值 UTC 无疑是首选 我想知道是否有人对拯救生命的 最佳 方法有建议futureMySQL 数据库中的日期和时间 或者就此而言一般来说 特别是在该列可以保存不同时区时间的情况下 考虑到时区规则可

随机推荐