Java'SimpleDateFormat 错误地解析日期

标签 java simpledateformat date-format date

我正在尝试使用“yyyymmddHHssmm”格式解析时间戳。 我有两个这样的时间戳:

String timeStamp1 = "20190612221303"//this means 12June2019 10:13:03pm
String timeStamp2 = "20190512222303"//this means 12May2019 10:23:03pm

所以我尝试使用以下命令将这些时间戳字符串转换为 java 日期:

Date date1= new SimpleDateFormat("yyyymmddHHssmm").parse(timeStamp1);
Date date2 = new SimpleDateFormat("yyyymmddHHssmm").parse(timeStamp2);

很明显,当我这样做时

System.out.println(date1.getTime() > date2.getTime());

我希望上面的语句打印为 true。 但可惜它打印错误。

在 Date 的 .getTime() 中,对于 date1 打印 1547310793000,对于 date2 打印 1547310803000,这显然是不正确的。 有人可以指出这里发生了什么吗?

最佳答案

在格式字符串中,有两次 mm:yyyymmddHHssmm。第一次出现应该是 MM, for month of year.

关于Java'SimpleDateFormat 错误地解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56892861/

相关文章:

java - 使用本地电话调制解调器作为短信网关从 php 发送短信

java - HttpClient - 从一个 InputStream 写入多个 POST 请求

java - 什么是NullPointerException,我该如何解决?

Java Util date 解析 ebay api 时间戳

java - 将时间差(以毫秒为单位)转换为格式化时间

date - 从带破折号的字符串解析 Pandas 列到日期

java - 为什么在使用 MySQL 数据库格式化日期时此查询会给出一个空集?

Java 最多读取一次 map

javascript - 无法解析 Javascript 中的日期格式

Java SimpleDateFormat 将日期偏移一年