您可以使用下面的方法来获得日差。

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);

它会给确切日期不同。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐