您可以使用下面的方法来获得日差。
public static int getDateDifference(String dtThen, String dtNow, String format) {
// Converting String to Date
Date dateThen = convertStingToDate(dtThen, format);
Date dateNow = convertStingToDate(dtNow, format);
// converting Date to Calendar object
Calendar now = Calendar.getInstance();
now.setTime(dateNow);
Calendar theDay = Calendar.getInstance();
theDay.setTime(dateThen);
// Getting the difference in milliseconds
long diffMillis = now.getTimeInMillis() - theDay.getTimeInMillis();
// Converting milliseconds into number of days
int daysDiff = (int) (diffMillis/(1000 * 60 * 60 * 24));
return daysDiff;
}
public static Date convertStingToDate(String inputDate, String format) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format, Locale.getDefault());
Date date = null;
try {
date = simpleDateFormat.parse(inputDate);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
你可以从你的代码中调用这样上面的方法,
String dtThen = "13-10-2012";
String dtNow = "15-10-2013";
String format = "dd-MM-yyyy";
int daysDiff = getDateDifference(dtThen, dtNow, format);
Log.d(TAG, "Day difference: " + daysDiff);
它会给确切日期不同。