- date类型时间相减:date日期格式利用getTime()方法返回两个时间的毫秒数,然后相减
String stateTime = "2016-10-24";
String endTime = "2016-10-28";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date state = sdf.parse(stateTime);
Date end = sdf.parse(endTime);
long stateTimeLong = state.getTime();
long endTimeLong = end.getTime();
// 结束时间-开始时间 = 天数
long day = (endTimeLong-stateTimeLong)/(24*60*60*1000);
System.out.println(day);
} catch (ParseException e) {
e.printStackTrace();
}
- 在处理日期和时间时,一般使用Calendar类进行实现,Calender类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance()方法创建即可,下面是运用Calendar来实现日期的年,月,日时间的相加减
public static Date addDate(Date date, int day) {
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(date);
// rightNow.add(Calendar.YEAR,-1);//日期减1年
// rightNow.add(Calendar.MONTH,3);//日期加3个月
// rightNow.add(Calendar.DAY_OF_YEAR,5);//日期加5天
rightNow.add(Calendar.DAY_OF_YEAR,day);
Date dt1=rightNow.getTime();
System.out.println(dt1);
return dt1;
}