Java Date 类型时间运算,时间相减,年份加减,月份加减,天数加减运算

  1. 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();
		}
  1. 在处理日期和时间时,一般使用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;
	}

你可能感兴趣的:(java)