0

我正在为 Shopify 编写基于 JVM 的客户端,并且需要从 API 获取时区信息。返回的数据格式如下:

"(GMT-05:00) Eastern Time (US & Canada)"

这实际上并没有描述时区。时区的标准格式通常为:

"America/New_York"

并在此处描述。我正在使用Joda-time来管理 JVM 端的时区,并且需要解析该字符串。我现在能做的最好的是将文档中的列表复制到我的代码中,从字符串中去除偏移量并进行查找。我的问题是该列表看起来相当不完整,并且可能会发生变化。

我拒绝使用 GMT-05:00 部分,因为它没有考虑 DST,因此没有描述时区,所以一年中的 6 个月都是错误的,这是不可接受的。

或者,Shopify API 刚刚提供时区会很有用,但我已经搜索了文档并且看不到它在哪里。如果有人能看到它而我只是愚蠢,那就太好了。

PS我不是红宝石程序员,所以我完全有可能遗漏了一些非常明显的东西。谢谢。

4

2 回答 2

0

我之前也遇到过同样的问题,但我能够将 Java 兼容时区标识符的副本与 Ruby/Rails 标识符一起保留。您可能需要建立一个转换表来将“东部时间(美国和加拿大)”转换为“美国/纽约”。

于 2013-01-31T20:31:33.383 回答
-1

我有一个类似的产品。在 Android 端,我使用TimeZone.getDefault().getId(). 它通常已经在您要求的 TZ 数据库表单中。在 ruby​​ 方面,我发现时区 gem对于调度非常宝贵,尽管我不得不稍微修改 gem 以满足我的性能需求。

于 2013-01-30T20:33:58.237 回答