I am trying to calculate the time difference, but I get some strange results: Here is the source:
import java.util.Calendar; import java.util.Collections; import java.util.Vector; public class Main { static Calendar dcal = Calendar.getInstance(); static Calendar ccal = Calendar.getInstance(); public static void main(String[] args) { dcal.set(2011, 1, 27); ccal.set(2011,2,1); long dtime = dcal.getTimeInMillis(); long ctime = ccal.getTimeInMillis(); long diff = ctime - dtime; int hours = (int) (diff / (1000 * 60 * 60)); System.out.println("hours->"+hours); } }
When I set ccal to 1 31 2011, the date difference is 96 hours, but when I set it to 2 1 2011 the date difference is 48 hours. How can it be? What remedy?
Thanks,
Elliot
java time
Elliott
source share