我有一个 shell 脚本(准确地说是 zsh),它使用
strftime "%I:%M %p %Z (%a, %b %d)" "$EPOCHSECONDS"
生成“当前时间”,例如
“02:45 PM CST(周四,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 不喜欢它们,还是每个人都远离它们?