Android减去时间有12到13的计算错误

时间:2017-12-12 09:38:41

标签: android date time

我有两次,我希望得到他们的不同。 我的时代: 开始时间:2017-12-12 13:19:21 结束时间:2017-12-12 12:59:48

所以我格式化它们并减去它们:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date startDate = simpleDateFormat.parse("2017-12-12 13:19:21");
        Date endDate = simpleDateFormat.parse("2017-12-12 12:59:48");

        second = endDate.getTime() - startDate.getTime();

如果第一次和第二次不在12之前和之后12

,它运作良好

例如从10:30开始,另一个在11:02,它工作正常。 但是,如果他们像上面的代码那样情绪:开始12:59和结束13:19,差异计算错误12小时。 以上代码的计算结果:12小时20分钟,但应该只需20分钟, 错误在哪里,我该如何解决?

1 个答案:

答案 0 :(得分:1)

根据SimpleDateFormat的文档,如果您希望以24小时格式获得小时数,则必须使用 HH 而不是 hh

这应该可以解决你的问题。