【发布时间】:2019-02-27 23:57:37
【问题描述】:
我最近遇到了 Joda,但在解析 LocalTime 时遇到了问题,如简单的 sn-p 所示:
String localTimeString = LocalTime.now().toString(dateTimeFormatter);
LocalTime localTime = LocalTime.parse(localTimeString, dateTimeFormatter);
结果因使用的DateTimeFormatter而异:
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("HH:mm:ss");DateTimeFormatter dateTimeFormatter = DateTimeFormat.longTime();
我对结果感到惊讶:
-
第一个工作正常,
localTimeString的值为13:23:45,打印解析后的localTimeString结果为13:23:45.000正确。 -
我在这里挣扎。
localTimeString是1:23:45 PM,但是,以下行会导致异常:java.lang.IllegalArgumentException:无效格式:“1:23:45 PM”太短
我没有发现任何类似的问题,Joda JavaDoc 也没有帮助我。
为什么DateTimeFormat::longTime 无法解析自己?我想我做错了什么 - 这是什么?
【问题讨论】:
-
哈!很有趣...
-
我看到你标记了这个 java-8。您是否考虑过使用 java.time?尤达现在有点过时了。
-
@JanLarsen:我的错误,我的意思是只有 Joda 时间。
-
您的模式“hh:mm:ss”没有意义,请使用“HH:mm:ss”或“hh:mm:ss a”。
-
@MenoHochschild:我的错字,但这无关紧要。我的问题针对其他任何地方。 ://
标签: java parsing time jodatime