-1

さて、私は時間の違いを取得しようとしており、 を使用してTimeUnit.XXX.convert()います。

ここに私のテストコードがあります:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");

        Date d1 = new Date();

        Date d2 = new Date();

try {
            d1 = sdf.parse("08/11/2015 10:00:00");
            d2 = sdf.parse("08/11/2015 14:30:00");
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        System.out.println("Duration in minutes: "  + TimeUnit.MINUTES.convert(d2.getTime()-d1.getTime(), TimeUnit.MILLISECONDS));
        System.out.println("Duration in hours: "    + TimeUnit.HOURS.convert(d2.getTime()-d1.getTime(), TimeUnit.MILLISECONDS));

結果は、「期間 (分): 270」および「期間 (時間): 4」でした。

ここに画像の説明を入力

しかし実際には、10:00:00 と 14:30:00 の差は 4.5 時間 (10 進数) です。

それはバグですか、それとも何か間違っていますか?

4

1 に答える 1