如何确定Ruby中的城市,州的时区(EST,PST,MST,CST,AKST,HST)?

时间:2013-02-01 16:48:15

标签: ruby ruby-on-rails-3 datetime rubygems timezone

所以我编写了一个Ruby脚本,这样一个城市,纽约州,纽约州,你可以得到一个时区字符串,如“美国/纽约”返回。我使用了地理编码器和时区宝石。但有一种简单的方法(即内置函数或库)将“America / New York”映射到“EST”吗?将城市,州映射到EST / PST /等是我追求的真实结果。

1 个答案:

答案 0 :(得分:1)

我不是Ruby程序员,但我知道您要查找的缩写信息包含在tzdb数据库中。我浏览了TimeZone ruby​​ gem的源代码,但没有找到任何关于缩写的内容,所以我的猜测是该库的作者并不认为它有价值,所以没有将它包含在解析器中。 (这只是一个假设。)

我确实找到了另一个名为TZInfo的tzdb数据库的Ruby实现,它似乎公开了每个区域的缩写属性。您可能希望使用该库进行调查。我不能提供具体的建议,但总的来说哪个更好。

正如其他人在评论中警告的那样,请确保您仅将缩写用于显示目的。它只对人类有意义,并且只有当他们有其他背景,例如他们的位置时才有意义。在全球范围内,时区缩写并非独一无二。他们之间有很多含糊之处。您可以看到full list here