在两个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/