我试图检索所有时区的tzinfo数组,但是我只需要从每个时区检索“America/Los”部分,这样我就可以验证从iOS移动客户端接收的时区。目前正在运行以下操作:
ActiveSupport::TimeZone.zones_map.values.collect { |z| z.tzinfo }我得到了类TZInfo::TimezoneProxy和我需要的信息。
发布于 2014-10-21 18:12:19
尝试使用以下代码:
ActiveSupport::TimeZone::MAPPING.values发布于 2014-10-21 19:14:53
ActiveSupport::时区中的区域仅限于146个“有意义”区域的子集,尽管它们没有根据确定哪些区域“有意义”来定义。
如果您使用它来验证来自另一个平台的IANA时区标识符,您肯定会有错误的否定,因为有超过500个。
相反,直接使用TZinfo宝石,而不是Rail的奇怪的变异版本。还请参阅时区标记wiki中的Rails时区标识符一节。
发布于 2014-10-21 18:01:48
在文档中找到实例方法“标识符”- 方法
所以我只需要
ActiveSupport::TimeZone.zones_map.values.collect{|z| z.tzinfo.identifier }
https://stackoverflow.com/questions/26493212
复制相似问题