如何实现java 日期加减

在项目开发中经常会遇到一些处理日期的操作,总结了一些java 日期加减 ,代码如下


//得到在当前日期之后的未来 的时间;

**方法一 

  public Date daysDate1(Date dateTime/*待处理的日期*/,int n/*加减天数*/){
  
  //日期格式
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");  
 SimpleDateFormat dd=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss"); 
 //处理天数
 //long  nDay=(dateTime+(n*24*60*60*1000)); 
 
 System.out.prinln(df.format(new Date(dateTime - n * 24 * 60 * 60 * 1000)));
  }
  


**方法二
    public Date daysDate2(Date dateTime/*待处理的日期*/,int n/*加减天数*/){
  
  //日期格式
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");  
 SimpleDateFormat dd=new SimpleDateFormat("yyyy-MM-dd EE 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(dd.format(calstart.getTime()));
  }
  
  
 
  其他:
     
     有些需求中需要得到 两个日期之间的所有天数的具体日期;
     
    public static List<String> getDates(Date startDate, Date endDate) {
    
java.util.Calendar calstart = java.util.Calendar.getInstance();
java.util.Calendar calend = java.util.Calendar.getInstance();
calstart.setTime(startDate);
calend.setTime(endDate);
// 设置时间为0时
calstart.set(java.util.Calendar.HOUR_OF_DAY, 0);
calstart.set(java.util.Calendar.MINUTE, 0);
calstart.set(java.util.Calendar.SECOND, 0);
calend.set(java.util.Calendar.HOUR_OF_DAY, 0);
calend.set(java.util.Calendar.MINUTE, 0);
calend.set(java.util.Calendar.SECOND, 0);
long start = calstart.getTimeInMillis();
long end = calend.getTimeInMillis();
List<String> date = new ArrayList<String>();
SimpleDateFormat df=new SimpleDateFormat("dd");   
do {
Date time=new Date(start);
date.add(df.format(time));
} while ((start += 1000 * 60 * 60 * 24) <= end);

return date;    //返回天数 eg: 01、02、03

}

          
      贴下 API中的 Calendar:
     Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 

该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected。 

与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化: 

     Calendar rightNow = Calendar.getInstance();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值