尝试使用joda DateTimeFormatter解析日期时的运行时异常

Rah*_*hul 11 java jodatime

我正在执行以下代码给我

"Exception in thread "main" org.joda.time.IllegalFieldValueException: Cannot parse "12/17/2017 23:10": Value 23 for clockhourOfHalfday must be in the range [1,12]"

DateTimeFormatter dt = DateTimeFormat.forPattern("MM/dd/yyyy hh:mm");
System.out.println(dt.parseDateTime("12/17/2017 23:10"));
Run Code Online (Sandbox Code Playgroud)

如果我将解析"12/17/2017 02:10"然后它成功执行.

所以基本上,我需要解析具有24小时时钟格式的时间.

提前致谢.

Kep*_*pil 33

h你可以在异常中看到JodaTime的半天.
你需要使用H(或可能k):

DateTimeFormatter dt = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm");
System.out.println(dt.parseDateTime("12/17/2017 23:10"));
Run Code Online (Sandbox Code Playgroud)

DateTimeFormat API中有更多信息.

  • (这也是SimpleDateFormat中的12小时时钟......) (3认同)