java.text.ParseException:无法解析的日期:“1991-04-14 00:00:00”
java.text.ParseException: Unparseable date: "1991-04-14 00:00:00"
当我将宽松模式设置为 false 时,出现异常:"java.text.ParseException: Unparseable date: "1991-04-14 00:00:00""。
代码如下:`
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setLenient(false);
System.out.println(format.parse("1991-04-14 00:00:00"));
而当我将宽松模式设置为true时,结果显示:"Sun Apr 14 01:00:00 CDT 1991"。
按理说应该是"Sun Apr 14 00:00:00 CDT 1991".
下面的日期也有这个问题。
- 19400603000000
- 19410316000000
- 19860504000000
- 19870412000000
- 19880410000000
- 19890416000000
- 19900415000000
- 19910414000000
如果我执行你给出的代码,我没有问题,我得到以下结果:
Sun Apr 14 00:00:00 CEST 1991
所以问题可能与您的时区有关?
问题中的大部分日期都出现在 spring 中。它们可能发生在您正在使用的时区向每日节省时间过渡时。
format.parse("1991-04-14 00:00:00")
失败可能是因为您使用的时区在 1991-04-14 00:00:00
转换为每日节省时间,这意味着没有有效的 1991-04-14 00:00:00
日期,而是时间向前跳了一个小时, 直接到 1991-04-14 01:00:00
.
如我所料,这是中国的 Time Change 1991:
Apr 14, 1991 - Daylight Saving Time Started
When local standard time was about to reach
Sunday, April 14, 1991, 00:00:00 clocks were turned forward 1 hour to
Sunday, April 14, 1991, 01:00:00 local daylight time instead.
(Source)
因此1991-04-14 00:00:00
在中国从来都不是有效时间
您可以使用提供的 link 搜索其他无效日期。只需更改 URL.
中的年份
当我将宽松模式设置为 false 时,出现异常:"java.text.ParseException: Unparseable date: "1991-04-14 00:00:00""。 代码如下:`
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setLenient(false);
System.out.println(format.parse("1991-04-14 00:00:00"));
而当我将宽松模式设置为true时,结果显示:"Sun Apr 14 01:00:00 CDT 1991"。 按理说应该是"Sun Apr 14 00:00:00 CDT 1991".
下面的日期也有这个问题。
- 19400603000000
- 19410316000000
- 19860504000000
- 19870412000000
- 19880410000000
- 19890416000000
- 19900415000000
- 19910414000000
如果我执行你给出的代码,我没有问题,我得到以下结果:
Sun Apr 14 00:00:00 CEST 1991
所以问题可能与您的时区有关?
问题中的大部分日期都出现在 spring 中。它们可能发生在您正在使用的时区向每日节省时间过渡时。
format.parse("1991-04-14 00:00:00")
失败可能是因为您使用的时区在 1991-04-14 00:00:00
转换为每日节省时间,这意味着没有有效的 1991-04-14 00:00:00
日期,而是时间向前跳了一个小时, 直接到 1991-04-14 01:00:00
.
如我所料,这是中国的 Time Change 1991:
Apr 14, 1991 - Daylight Saving Time Started
When local standard time was about to reach
Sunday, April 14, 1991, 00:00:00 clocks were turned forward 1 hour to
Sunday, April 14, 1991, 01:00:00 local daylight time instead.
(Source)
因此1991-04-14 00:00:00
在中国从来都不是有效时间
您可以使用提供的 link 搜索其他无效日期。只需更改 URL.
中的年份