Дни прошли между двумя датами Java с разным часовым поясом

У меня два свидания, но один - CET, а другой - CEST.

   Calendar calFrom = Calendar.getInstance();
            calFrom.set( 2013, 2, 20,0,0,0);
            Calendar calTo = Calendar.getInstance();
            calTo.set( 2013, 3, 5,0,0,0);

        long daysPassed= (calTo.getTime().getTime() - calFrom.getTime().getTime()) / (1000 * 60 * 60 * 24);
        System.out.println("calFrom: " + calFrom.getTime());
        System.out.println("calTo: " + calTo.getTime());
        System.out.println("daysPassed: " + daysPassed);

Выходные данные говорят:

calFrom: Wed Mar 20 00:00:00 CET 2013
calTo: Fri Apr 05 00:00:00 CEST 2013
daysPassed: 15

Однако Microsoft Excel говорит, что разница между двумя днями составляет 16!

Как можно посчитать прошедшие дни как в Excel?

1 ответ

Решение

JodaTime, кажется, хочет решить эту проблему: http://kodejava.org/how-do-i-get-number-of-days-between-two-dates-in-joda/

Другие вопросы по тегам