计算Android中的日期差异天数

kor*_*nos 0 datetime android

我想计算两个日期之间的差异.

我有类似的东西:

String deadline = "2015-08-15";
Run Code Online (Sandbox Code Playgroud)

我得到当前的日期:

String timeStamp = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
Run Code Online (Sandbox Code Playgroud)

例如,它将是今天:

2015年11月11日

如何计算这两个日期之间的天数?如果日期过去会发生什么.

Ser*_*kov 6

我用这个

public String getDateAgo() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    try {
        Date date = sdf.parse(createdAt);
        Date now = new Date(System.currentTimeMillis());
        long days = getDateDiff(date, now, TimeUnit.DAYS);
        if (days < 7)
            return days + "d";
        else
            return days / 7 + "w";
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return "ERROR";
}

private long getDateDiff(Date date1, Date date2, TimeUnit timeUnit) {
    long diffInMillies = date2.getTime() - date1.getTime();
    return timeUnit.convert(diffInMillies, TimeUnit.MILLISECONDS);
}
Run Code Online (Sandbox Code Playgroud)