java.time.format.DateTimeParseException:无法在索引0处解析文本'Tue Jan 08 00:00:00 IST 2019'

时间:2019-01-08 16:02:36

标签: java datetime parsing datetime-parsing

即使提供了适当的格式,我也面临着DateTimeParseException

DateTimeFormatter ft = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy");
LocalDateTime.parse("Tue Jan 08 00:00:00 IST 2019", ft);

如果我有任何遗漏,请提供帮助?

2 个答案:

答案 0 :(得分:3)

这可能是由于计算机上的区域设置所致。 创建DateTimeFormatter时,您可以提供语言环境。

DateTimeFormatter ft = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy", Locale.US);

这将确保正确地解析日期。

答案 1 :(得分:2)

这可能是由于您的系统语言环境未将Mon-Sun用作星期几的短名称,例如对于德国语言环境,将引发相同的异常:

Locale.setDefault(Locale.GERMAN);
DateTimeFormatter ft = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy");
LocalDateTime.parse("Tue Jan 08 00:00:00 IST 2019", ft);

如果您使用匹配的语言环境(例如,美国:

Locale.setDefault(Locale.US);
DateTimeFormatter ft = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy");
LocalDateTime.parse("Tue Jan 08 00:00:00 IST 2019", ft);