我在linux上使用Java 8,代码如下
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyMMDD",Locale.ENGLISH);
LocalDate exampleDate = LocalDate.parse(myDate, formatter);
其中myDate
是一个等于“150520”的字符串。我收到了错误:
java.time.format.DateTimeParseException: Text '150520' could not
be parsed: Conflict found: Field MonthOfYear 1 differs from
MonthOfYear 5 derived from 2015-01-20
我想以May 20, 2015
为例。知道什么是错的吗?
更新
用D
替换日期代码d
可消除此错误。如何格式化为可读日期?
答案 0 :(得分:5)
你想要yyMMdd
。大写D
解析"年中的一天"不是"一天中的某一天"。
打印部件的[编辑],您可以DateTimeFormatter.ofPattern("MMM dd, yyyy").format(theDate)
。
答案 1 :(得分:2)
更改
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyMMDD",Locale.ENGLISH);
与
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyMMdd",Locale.ENGLISH);
答案 2 :(得分:2)
您需要使用此格式字符串"yyMMdd"
。根据{{3}}
Symbol Meaning Presentation Examples
------ ------- ------------ -------
D day-of-year number 189
d day-of-month number 10