Ho bisogno di calcolare il numero di giorni tra due date e sto usando sotto il codice. il problema è che mi sta restituendo 2 ma in realtà dovrebbe restituire 3 perché la differenza tra il 30 giugno 2016 e il 27 giugno è 3. puoi aiutarmi dove dovrebbe includere anche la data corrente nella differenza?Calcola il numero di giorni tra due date in java
public static long getNoOfDaysBtwnDates(String expiryDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date expDate = null;
long diff = 0;
long noOfDays = 0;
try {
expDate = formatter.parse(expiryDate);
//logger.info("Expiry Date is " + expDate);
// logger.info(formatter.format(expDate));
Date createdDate = new Date();
diff = expDate.getTime() - createdDate.getTime();
noOfDays = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
long a = TimeUnit.DAYS.toDays(noOfDays);
// logger.info("No of Day after difference are - " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
System.out.println(a);
System.out.println(noOfDays);
} catch (ParseException e) {
e.printStackTrace();
}
return noOfDays;
}
data di scadenza è 2016/06/30 e quella attuale è 2016-06-27
@AngryJS Acquista la mia risposta! –