java.util.date和长期意外行为

时间:2013-07-14 06:22:23

标签: java date long-integer

我正在写一个程序,并发现了一个让我难以理解的行为。 所以粘贴代码

public class test { 

    public static void main(String args[]) throws ParseException {
        DateFormat formatter = new SimpleDateFormat("hh:mm");
        Date systemTime2 = formatter.parse("10:36");
        Date systemTime1 = formatter.parse("12:00");
        System.out.println(getMinutesDifference(systemTime2, systemTime1));
        ;
    }
    private static Long getMinutesDifference(Date upperTime, Date lowerTime) {
        System.out.println(upperTime.getTime());
        System.out.println(lowerTime.getTime());
        return (upperTime.getTime() - lowerTime.getTime()) / (1000 * 60);

    }
}

现在我得到的输出是

66960000    
28800000  
636

我期待负面的产出。我无法理解为什么会发生这种情况。

1 个答案:

答案 0 :(得分:3)

以您的格式,AM / PM(1-12)中的“hh”小时。我不清楚你究竟想要完成什么,但也许使用“HH”(白天的小时 - 0-23)可能会给你你想要的结果。