Java 8 带有解析最佳方法的datetimeformat未解析00:00:00

Java 8 带有解析最佳方法的datetimeformat未解析00:00:00,java-8,datetime-format,Java 8,Datetime Format,相关问题 这是我的代码,我正在尝试使用fmt进行最佳解析,并以“MM/dd/yyyy hh:MM:ss a”格式获得输出。我已经用相关问题中提供的答案进行了单元测试,但今天我发现输入“03/01/2018 00:00:00”失败。我可以找出问题所在,上面的代码试图以“[h:m[[:ss][]a]]”格式而不是[h:m[:ss]]格式解析,那么这就是预期的行为吗?或者有什么东西我必须改变格式以便parseBest能为我的仪器工作吗?因为你有[:ss][]a]作为可选,[h:m[:ss][]a]匹

相关问题


这是我的代码,我正在尝试使用fmt进行最佳解析,并以“MM/dd/yyyy hh:MM:ss a”格式获得输出。我已经用相关问题中提供的答案进行了单元测试,但今天我发现输入“03/01/2018 00:00:00”失败。我可以找出问题所在,上面的代码试图以“[h:m[[:ss][]a]]”格式而不是[h:m[:ss]]格式解析,那么这就是预期的行为吗?或者有什么东西我必须改变格式以便parseBest能为我的仪器工作吗?

因为你有
[:ss][]a]
作为可选,
[h:m[:ss][]a]
匹配为
[h:m]
。您应该在那里要求
a
,并让
[H:m[:ss]]
处理
H:m
案例

"M/d/[uuuu][uu][ h:m[:ss][ ]a][ H:m[:ss]]"

顺便问一下,为什么要将麻烦的遗留类(
SimpleDateFormat
Calendar
GregorianCalendar
)与现代java.time类(
LocalDateTime
DateTimeFormatter
)混为一谈?您知道java.time类完全取代了遗留的日期时间类吗?
"M/d/[uuuu][uu][ h:m[:ss][ ]a][ H:m[:ss]]"