【发布时间】:2013-03-14 18:51:57
【问题描述】:
我正在尝试做的事情:
从 DateTimeZone 对象,我试图以毫秒为单位获取 GMT 偏移量。示例:
DateTimeZone gmt= // somehow get gmt zone object
long offset = gmt.getOffsetSomehow(); // expect offset = 0
DateTimeZone ny_est = // somehow get that time zone object representing "EST" offset of NY zone
long offset = ny_est.getOffsetSomehow(); // expect offset = -18000000 = -5*60*60*1000
DateTimeZone hkt = // somehow get HK time zone object
long offset = hkt.getOffsetSomehow(); // expect offset = 28800000 = 8*60*60*1000
Joda 的 DateTimeZone 对象有一个名为getOffset 的方法,它接受一个参数。问题:
- 为什么那个方法需要一个参数?我原以为该方法不会期望任何参数,而只是按照我想要的虚构“getOffsetSomehow()”方法的方式行事。
- 如何在上面的 sn-p 中获取时区对象?
- 什么实际的代码方法/sn-p 可以让我得到我想要得到的“偏移”值?
【问题讨论】:
-
@jrharshanth 如果您提出问题;如果答案对您有用;你可以接受答案。
-
我也很想知道这个问题的答案。我在我的应用程序的一部分中使用
DateTimeZone.forOffsetMillis(...)初始化并保存了一个 DateTimeZone,现在我想再次获取偏移量,以便我可以将 int 或 long 值保存在数据库中。推测 DateTimeZone 对象将偏移量存储在其实例字段之一中。没有明显的方法可以获取这些数据。
标签: java datetime timezone jodatime