Java简单日期格式无法正确解析PM的日期时间

标签 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?

最佳答案

当你想显示AM/PM中的时间时格式,重要的是使用 12 小时时钟 ( hh ) 而不是 24 小时时钟 ( HH )。

而不是 MM/dd/yyyy HH:mm a格式需要为MM/dd/yyyy hh:mm a

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

关于Java简单日期格式无法正确解析PM的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50927169/

相关文章:

java - Java 中的 Date.getTime() 在不同的服务器中返回不同的时间

java - 日历 HOUR_OF_DAY 存在问题

java - JTabbedPane 自定义选项卡外观

java - 如何检查字符串是否是有效的类标识符?

java - 我可以从解决这个 FizzBu​​zz 式问题的解决方案中消除嵌套的 if-else 吗?

java - 从 unix 时间戳获取 GMT 日期

java - Simpledateformat 不可解析的日期

java - 构建自定义视频播放器网络浏览器插件的最佳方法是什么?

java - Spring 应用范围

java - 将字符串转换为日期的年份格式不正确