我正在嘗試編寫函數來查找兩個日期之間的日期差異,但它的工作正常,但結果在相同的輸入中改變了一些時間。讓我們說當前日期是21/7/2014某個時間的結果是567和其他時間566尋找天的代碼區別
代碼:
//TO GET THE CURRENT DATE
Calendar cal = Calendar.getInstance();
//THE CAL.ADD BECUSE THE 1ST MONTH IN THE YEAR IS 0 NOT 1
cal.add(Calendar.MONTH, 1);
//TO SET THE START DATE WICH IS 1/1/2013
Calendar startDate=Calendar.getInstance();
startDate.set(Calendar.DAY_OF_MONTH, 1);
startDate.set(Calendar.MONTH,1);
startDate.set(Calendar.YEAR, 2013);
//TO FIND THE DIFF BETWEEN THE START DATE AND CUREENT DATE , THE +1 BECUSE IT IS
ALWAYS LESS BY ONE DAY
long diff=(((cal.getTimeInMillis()-
startDate.getTimeInMillis())/(1000*60*60*24))+1);
http://可能有重複stackoverflow.com/questions/1555262/calculating-the-difference-between-two-java-date-instances他們確定使用喬達時間是處理這個問題的最好方法。但是,這個解決方案可以代替使用Joda時間庫:http://stackoverflow.com/a/10650881/1778273 –