问题描述
- java中一个关于joda.time.DateTime问题
-
今天碰到一个问题:
public class PlanDateTest {
public static void main(String[] args) {
DateTime time = new DateTime(1991, 4, 14, 0, 0, 0);
System.out.println(time.getMillis());
}
}
在time 进行new 的时候,出现了异常:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal instant due to time zone offset transition: 1991-04-13T16:00:00.000
经过测试,只发现这个时间的实例化会出问题,其他的时间实例化不会出问题。long l = 671558400000L;
DateTime time2 = new DateTime(l);
time2能正常实例化,可是其withMillisOfDay(int millis)则会抛出:
Exception in thread "main" org.joda.time.IllegalFieldValueException: Value 13 for millisOfDay is not supported: Illegal instant due to time zone offset transition: 1991-04-14T00:00:00.013 (Asia/Shanghai)请问有人碰到过这类似的问题吗?
解决方案
try
{
DateTime time = new DateTime(1991, 4, 14, 0, 0, 0);
System.out.println(time.getMillis());
}
catch(Exception e)
{
}
时间: 2024-08-18 03:23:15