Дни прошли между двумя датами 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/