gpt4 book ai didi

java - 为什么 joda DateTimeZone 的 getOffset() 方法需要一个 "instant"?

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:39 24 4
gpt4 key购买 nike

我正在尝试做的事情:

我试图从 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 的方法, 它接受一个参数。问题:

  1. 为什么该方法需要一个参数?我本以为该方法不会期望任何参数,而只是按照我想要的虚构“getOffsetSomehow()”方法的方式行事。
  2. 如何获取上面代码段中的时区对象?
  3. 什么实际方法/代码片段可以让我获得我试图获得的“偏移”值?

最佳答案

这是因为 Offset 会随时间变化。一个例子是夏令时。另一个是决定迁移到另一个时区的国家。

如果你想要当前的偏移量,像这样现在提交:

int offset = DateTimeZone.forID("Europe/Berlin").getOffset(new DateTime());
System.out.println(offset);

关于java - 为什么 joda DateTimeZone 的 getOffset() 方法需要一个 "instant"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com