對於我的大學項目(酒店管理系統),我需要計算兩個日期之間的差異,我只是使用隨後的代碼工作。以天爲單位計算兩個日期之間的差異
txtarrivaldate.getDate();
txtdeparturedate.getDate();
long arrivalmillisec = txtarrivaldate.getDate().getTime();
// System.out.println(arrivalmillisec);
long departuremillisec = txtdeparturedate.getDate().getTime();
// System.out.println(departuremillisec);
long diffmilisec = (departuremillisec - arrivalmillisec);
long diffdays = (departuremillisec - arrivalmillisec)/(24 * 60 * 60 * 1000);
String noofdays = Long.toString(diffdays);
System.out.println(noofdays);
但是我遇到了其他Java項目,他們有代碼
static final long ONE_HOUR = 60 * 60 * 1000L;
dt1=jDateChooser1.getDate();
dt2=jDateChooser2.getDate();
String strdtver1=(String) sdf.format(jDateChooser1.getDate());
String strdtver2=(String) sdf.format(jDateChooser2.getDate());
long diff=((dt2.getTime()-dt1.getTime()+ONE_HOUR)/(ONE_HOUR*24));
diffday=Long.toString(diff);
jTextField4.setText(diffday+" day(s)");
我couldnot知道爲什麼ONE_HOUR已添加兩個dates.I之間會急切地想感謝排序混亂。
當夏令時開始時,他們正試圖避免摔倒。如果你的範圍有23小時的日子,那麼除非你加上一小時,否則這個師不會產生正確的結果。 –
爲什麼你不能使用org.joda.time.Days? – Trying
只是一個評論 - 約達近三年來已經過時了。新的Java 8類將是更好的選擇。 –