每当我通过时区创建DateTimeZone并获取时间时,返回的时间就会波动。这是我的代码:
TimeZone timeZone = TimeZone.getTimeZone("America/Belize");
DateTimeZone dateTimeZone = DateTimeZone.forTimeZone(timeZone);
DateTime dateTime = new DateTime(dateTimeZone);
因此,有时时间会正确,但有时会在未来一小时内提示。我注意到一种模式,每当错误时,将来一小时就会出错。
任何人都不知道为什么会这样。
我将JodaTime库用于DateTimeZone和DateTime。
最佳答案
伯利兹不利用夏时制。
我怀疑您会以某种方式查看自己的时区,查看伯利兹的时区,在两者之间进行区别,然后期望一个特定的小时。
但是,由于伯利兹州不利用夏时制,而您所在的国家/地区则采用夏令时,因此有时您会发现差异为一小时。是的,这很正常。
您可以质疑Joda Time的正确性,但要提供完整的信息。如果您确实这样做,并且仍然确定有问题,请访问他们的网站并提出问题。但请放心:在几乎所有情况下,他们都知道自己的时区和夏时制。