SimpleDateFormat不正确地解析和比较时间

时间:2013-06-21 00:15:59

标签: java time compare simpledateformat

使用以下SimpleDateFormat时:

 SimpleDateFormat format = new SimpleDateFormat("hh:mm");

然后我解析然后比较2个值:12:1911:40,如下所示:

val = format.parse("12:19").compareTo(format.parse("11:40"));

我得val -1 ,这似乎是错误的,因为12小时和19分钟大于11小时40分钟

但是,当我将第一个值更改为19:19并再次将其与11:40进行比较时,val会返回 1 的值,这似乎是正确的。

不知道为什么会这样,我想我错过了什么。

1 个答案:

答案 0 :(得分:5)

因为“hh”,12:19被解释为00:19。你需要“HH”。

hh是1-12格式。

HH是0-23格式。

了解更多here