在两个javadate之间通过了不同的时区

我有两个date,但一个是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 

不过微软表示,这两天的差距是16

如何计算像Excel一样的日子?

JodaTime似乎要处理这个问题: http ://kodejava.org/how-do-i-get-number-of-days-between-two-dates-in-joda/