gpt4 book ai didi

java - 无法创建特定的 Joda DateTime (IllegalInstantException)

转载 作者:行者123 更新时间:2023-12-02 18:18:22 25 4
gpt4 key购买 nike

这行非常简单:

DateTime date = new DateTime(2014, 9, 7, 0, 0, 0);

使我的应用程序崩溃:

08-10 18:43:35.803: E/AndroidRuntime(4046): java.lang.RuntimeException: Unable to
start activity (...): org.joda.time.IllegalInstantException: Illegal instant due
to time zone offset transition (daylight savings time 'gap'):
2014-09-07T00:00:00.000 (America/Santiago)

我正在使用 Joda 的 Java 日期时间。

问题是:我应该使用 UTC 日期时间创建这个 DateTime 因为显然“这个瞬间不可能存在”?如何?如果不行,解决办法是什么?

由于这个问题很短,我将给出一个简短的背景:
我正在创建一个包含特定月份/年份中所有日期的数组,即:

  Arr[0] = new SomeClass(....., new DateTime(2014, 9, 1, 0, 0, 0));
Arr[1] = new SomeClass(....., new DateTime(2014, 9, 2, 0, 0, 0));
Arr[2] = new SomeClass(....., new DateTime(2014, 9, 3, 0, 0, 0));
....
Arr[6] = new SomeClass(....., new DateTime(2014, 9, 6, 0, 0, 0));
Arr[7] = new SomeClass(....., new DateTime(2014, 9, 7, 0, 0, 0));

7 点就崩溃了。

最佳答案

如果您正在寻找一种表示“日期”(由年+月+日组成)的方法,那么Joda有更好的选择。检查LocalDate

这仅代表一个日期,而不代表一个时刻。

关于java - 无法创建特定的 Joda DateTime (IllegalInstantException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233776/

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