首先,有一个比较的基准日期
日期baseDate = dateFormat.parse(“2013-01-01”);
并且有一个事件日期列表可与基准日期进行比较,例如 Date date2 = dateFormat.parse(“2013-01-02”);
所以,我想得到比较结果(以天为单位),在这种情况下它是1.
如果
日期date3 = dateFormat.parse(“2012-12-31”);
然后,结果应为-1
我怎样才能实现这一目标?尝试baseDate .compareTo(date3)
但它只返回true / false。谢谢你的帮助
答案 0 :(得分:2)
另一种选择是在java.util.Date.getTime()
个对象中调用Date
,这会将Date
作为毫秒值返回。你可以计算(date2.getTime() - baseDate.getTime()) / 24*60*60*1000
。
参考:https://developer.android.com/reference/java/util/Date.html#getTime()
答案 1 :(得分:1)
String dateStart = "01/14/2014";
String dateStop = "01/13/2014";
Date d1 = null;
Date d2 = null;
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
try {
d1 = format.parse(dateStart);
d2 = format.parse(dateStop);
//in milliseconds
long diff = d2.getTime() - d1.getTime();
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.print(diffDays + " days, ");
}
catch (Exception e){
}
答案 2 :(得分:0)
java.util.Date具有符合Comparable
接口的compareTo()
函数。此方法返回一个整数。