Java Simple日期格式无法使用PM正确解析日期时间

时间:2018-06-19 11:20:24

标签: java simpledateformat

我有以下代码来解析和格式化日期:

          SimpleDateFormat dateTimeFormatter = new SimpleDateFormat("MM/dd/yyyy HH:mm a");
          System.out.println("Before Format  " + dateTimeFormatter.parse("06/19/2018 11:17 PM"));
          System.out.println(dateTimeFormatter.format(dateTimeFormatter.parse("06/19/2018 11:17 PM")));

其输出如下:

Before Format  Tue Jun 19 11:17:00 IST 2018
06/19/2018 11:17 AM

为什么PM中打印机作为AM?

1 个答案:

答案 0 :(得分:3)

当您要以AM/PM格式显示时间时,使用12小时制(hh)而不是24小时制(HH)很重要。

格式必须为MM/dd/yyyy HH:mm a而不是MM/dd/yyyy hh:mm a

有关SimpleDateFormat的更多信息,请查看文档here