0

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

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

我期待一个负输出。我无法理解为什么会这样。

4

1 回答 1

3

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

于 2013-07-14T06:27:07.950 回答