所以我写了一个 Ruby 脚本,给定一个城市,州,比如纽约,你可以得到一个时区字符串,比如“美国/纽约”。我使用了地理编码器和时区宝石。但是有没有一种简单的方法(即内置函数或库)将“America/New York”映射到“EST”?将城市、州映射到 EST/PST/等是我追求的真正结果。
user1096557
问问题
1857 次
1 回答
1
我不是 Ruby 程序员,但我知道您要查找的缩写信息包含在 tzdb 数据库中。我浏览了TimeZone ruby gem 的源代码,但没有找到任何关于缩写的内容,所以我的猜测是该库的作者认为它没有价值,因此没有将其包含在解析器中。 (这只是一个假设。)
我确实找到了另一个名为TZInfo的 tzdb 数据库的 Ruby 实现,它似乎确实公开了每个区域的缩写属性。您可能想改为使用该库进行调查。不过,我无法就总体而言哪个更好提供具体建议。
正如其他人在评论中警告的那样,请确保您仅将缩写用于显示目的。它仅对人类有意义,并且仅在他们具有其他上下文(例如其位置)时才有意义。在全球范围内,时区缩写并不是唯一的。他们之间有很多歧义。您可以在此处查看完整列表。
于 2013-02-01T20:07:59.823 回答