java date 日期加减天数

测试类代码:

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
	
	public static void main(String[] arg){
		Date now = new Date();		
	    
		addAndSubtractDaysByGetTime(now,-5);
		addAndSubtractDaysByGetTime(now,5);
	    addAndSubtractDaysByCalendar(now,-5);
	    addAndSubtractDaysByCalendar(now,5);
	}
	
	 public static Date addAndSubtractDaysByGetTime(Date dateTime/*待处理的日期*/,int n/*加减天数*/){
		  
		 //日期格式
		 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");  
		 SimpleDateFormat dd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 		 
		 
		 System.out.println(df.format(new Date(dateTime.getTime() + n * 24 * 60 * 60 * 1000L)));
		 //System.out.println(dd.format(new Date(dateTime.getTime() + n * 24 * 60 * 60 * 1000L)));
		 //注意这里一定要转换成Long类型,要不n超过25时会出现范围溢出,从而得不到想要的日期值
		 return new Date(dateTime.getTime() + n * 24 * 60 * 60 * 1000L);
	  }
	 
	 public static Date addAndSubtractDaysByCalendar(Date dateTime/*待处理的日期*/,int n/*加减天数*/){
		  
		 //日期格式
		 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");  
		 SimpleDateFormat dd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		 
		  java.util.Calendar calstart = java.util.Calendar.getInstance();
		      calstart.setTime(dateTime);

	      calstart.add(java.util.Calendar.DAY_OF_WEEK, n); 
	      
	      System.out.println(df.format(calstart.getTime()));
	      //System.out.println(dd.format(calstart.getTime()));
	      return calstart.getTime();
	  }

}

运行结果:

2014-10-06
2014-10-16
2014-10-06
2014-10-16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值