我正在尝试使用“yyyymmddHHssmm”格式解析时间戳。我有两个这样的时间戳:String timeStamp1 = "20190612221303"//this means 12June2019 10:13:03pmString 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());我希望上面的语句打印为真。但可惜它打印错误。Inface Date 的 .getTime() 为 date1 打印 1547310793000,为 date2 打印 1547310803000,这显然是不正确的。有人可以指出这里发生了什么。
4 回答
达令说
TA贡献1821条经验 获得超6个赞
您使用的格式:yyyymmddHHssmm 不明确。
我相信第 5 个和第 6 个字符用于定义月份。为此使用大写的 MM。
你用的是small mm,意思是分钟
蛊毒传说
TA贡献1895条经验 获得超3个赞
传递给 SimpleDateFormat 的字符串应该是yyyyMMddHHmmss
. 看看这里哪个字母代表那个格式化程序中的哪个东西。https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
添加回答
举报
0/150
提交
取消