java - 无法将格式化字符串转换为 LocalDateTime

标签 java date datetime localdate

我正在尝试转换字符串 Fri August 16 2019 12:08:55 AMLocalDateTime使用以下代码对象:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMMM d YYYY h:mm:ss a", Locale.US);
String timestamp = "Fri August 16 2019 12:08:55 AM";
localDateTime = LocalDateTime.parse(timestamp, formatter);

此代码引发以下异常:

java.time.format.DateTimeParseException: Text 'Fri August 16 2019 12:08:55 AM' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {WeekBasedYear[WeekFields[SUNDAY,1]]=2019, MonthOfYear=8, DayOfWeek=5, DayOfMonth=16},ISO resolved to 00:08:55 of type java.time.format.Parsed
    at java.time.format.DateTimeFormatter.createError(Unknown Source)
    at java.time.format.DateTimeFormatter.parse(Unknown Source)
    at java.time.LocalDateTime.parse(Unknown Source)
    at suppliers.pojos.PriceFluctuationPOJO.<init>(PriceFluctuationPOJO.java:51)
    at suppliers.pojos.PriceFluctuationPOJO.readFromPriceFluctuationCSVFile(PriceFluctuationPOJO.java:163)
    at amzn.Main.main(Main.java:60)
Caused by: java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {WeekBasedYear[WeekFields[SUNDAY,1]]=2019, MonthOfYear=8, DayOfWeek=5, DayOfMonth=16},ISO resolved to 00:08:55 of type java.time.format.Parsed
    at java.time.LocalDateTime.from(Unknown Source)
    at java.time.format.Parsed.query(Unknown Source)

基于thisthis线程上所以看起来格式是正确的。

什么原因导致异常?

谢谢

最佳答案

您的输入字符串中不应包含单引号,并且您的模式已关闭。您想要 yyyy(而不是 YYYY)。就像,

DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
        "EEE MMMM d yyyy hh:mm:ss a", Locale.US);
String timestamp = "Fri August 16 2019 12:08:55 AM";
LocalDateTime localDateTime = LocalDateTime.parse(timestamp, formatter);
System.out.println(localDateTime);

输出(此处)

2019-08-16T00:08:55

关于java - 无法将格式化字符串转换为 LocalDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57899517/

相关文章:

java - 在android中使用公钥加密

javascript - 使用 JavaScript 将秒转换为 HH-MM-SS?

mysql - 在 SQL Select 上将 YYYYMMDD 日期格式化为文本

ruby-on-rails - Rails - Postgres - 在类型转换之前提取属性

java - Liquibase 将列类型从日期更改为日期时间而不删除包含的值

c# - DateTime AddMinutes 方法不起作用

java - String 到 Long 的转换在 C 和 Java 中不同,为什么?

java - 如何将列表对象放入JSon对象

java - 将 ssl 处理从 Tomcat 转移到 Apache?

excel - 从输入框获取日期