java中关于日期计算的方法

import   java.util.*;  
  import   java.text.*;  
   
  public   class   formatDate   {  
   
      public   formatDate()   {  
      }  
   
      //   格式化日期为字符串   "yyyy-MM-dd   hh:mm"  
      public   String   formatDateTime(Date   basicDate,String   strFormat)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat(strFormat);  
          return   df.format(basicDate);  
      }  
   
      //   格式化日期为字符串   "yyyy-MM-dd   hh:mm"  
      public   String   formatDateTime(String   basicDate,String   strFormat)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat(strFormat);  
          Date   tmpDate=null;  
          try   {  
              tmpDate=df.parse(basicDate);  
          }  
          catch(Exception   e)   {  
              //   日期型字符串格式错误  
          }  
          return   df.format(tmpDate);  
      }  
   
      //   当前日期加减n天后的日期,返回String   (yyyy-mm-dd)  
      public   String   nDaysAftertoday(int   n)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
          Calendar   rightNow   =   Calendar.getInstance();  
          //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
          rightNow.add(Calendar.DAY_OF_MONTH,+n);  
          return   df.format(rightNow.getTime());  
      }  
   
      //   当前日期加减n天后的日期,返回String   (yyyy-mm-dd)  
      public   Date   nDaysAfterNowDate(int   n)   {  
          Calendar   rightNow   =   Calendar.getInstance();  
          //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
          rightNow.add(Calendar.DAY_OF_MONTH,+n);  
          return   rightNow.getTime();  
      }  
   
      //   给定一个日期型字符串,返回加减n天后的日期型字符串  
      public   String   nDaysAfterOneDateString(String   basicDate,int   n)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
          Date   tmpDate   =   null;  
          try   {  
              tmpDate   =   df.parse(basicDate);  
          }  
          catch(Exception   e){  
              //   日期型字符串格式错误  
          }  
          long   nDay=(tmpDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);  
          tmpDate.setTime(nDay);  
   
          return   df.format(tmpDate);  
      }  
   
      //   给定一个日期,返回加减n天后的日期  
      public   Date   nDaysAfterOneDate(Date   basicDate,int   n)   {  
          long   nDay=(basicDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);  
          basicDate.setTime(nDay);  
   
          return   basicDate;  
      }  
   
      //   计算两个日期相隔的天数  
      public   int   nDaysBetweenTwoDate(Date   firstDate,Date   secondDate)   {  
          int   nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));  
          return   nDay;  
      }  
   
      //   计算两个日期相隔的天数  
      public   int   nDaysBetweenTwoDate(String   firstString,String   secondString)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
          Date   firstDate=null;  
          Date   secondDate=null;  
          try   {  
              firstDate   =   df.parse(firstString);  
              secondDate=df.parse(secondString);  
          }  
          catch(Exception   e)   {  
              //   日期型字符串格式错误  
          }  
   
          int   nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));  
          return   nDay;  
      }  
   
  }


转载于:https://my.oschina.net/huangcongmin12/blog/79894

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值