我想计算两个日期之间的差异.
我有类似的东西:
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日
如何计算这两个日期之间的天数?如果日期过去会发生什么.
我用这个
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)