将字符串“2015年2月18日12:00:00:000AM”转换为LocalDateTime

时间:2015-02-19 13:03:53

标签: datetime java-8

我从mssql数据库中获取一个代表这样日期的字符串

  

2015年2月18日12:00:00:000AM

不,我试图通过使用

将其转换为LocalDateTime对象,但没有运气
private static final DateTimeFormatter ZEITSTEMPEL_FORMAT = DateTimeFormatter.ofPattern("MMM dd yyyy HH:mm:ss:SSSa");    
LocalDateTime d = LocalDateTime.parse(getBENOETIGT_ZUM(),ZEITSTEMPEL_FORMAT);
  

引起:java.time.format.DateTimeParseException:Text' 2015年2月18日   12:00:00:000AM'无法解析:发现冲突:字段AmPmOfDay 1   不同于AmPmOfDay 0来自12:00

我缺少什么? Thx提前 英格

1 个答案:

答案 0 :(得分:2)

您的模式不正确。您正在使用H:每小时(0-23),但您需要使用h:clock-hour-of-am-pm(1-12)。

所以正确的模式是:

DateTimeFormatter ZEITSTEMPEL_FORMAT = DateTimeFormatter.ofPattern("MMM dd yyyy hh:mm:ss:SSSa");