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

java.time.format.DateTimeParseException: Text 'Tue Jan 08 00:00:00 IST 2019' could not be parsed at index 0

即使给出了适当的格式,我仍然面临 DateTimeParseException

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

如果我遗漏了什么,请帮忙?

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

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

这将确保日期始终被正确解析。

这可能是由于您的系统语言环境没有使用 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);