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;  
      }  
   
  }  

 

 

---------------------------------------------------

 附js 日期相加减得到新的日期

Date.prototype.Format = function(fmt)
{
    //author: meizz
    var o =
     {
        "M+" : this.getMonth() + 1, //月份
        "d+" : this.getDate(), //日
        "h+" : this.getHours(), //小时
        "m+" : this.getMinutes(), //分
        "s+" : this.getSeconds(), //秒
        "q+" : Math.floor((this.getMonth() + 3) / 3), //季度
        "S" : this.getMilliseconds() //毫秒
     };
    if (/(y+)/.test(fmt))
         fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}


Date.prototype.addDays = function(d)
{
    this.setDate(this.getDate() + d);
};


Date.prototype.addWeeks = function(w)
{
    this.addDays(w * 7);
};


Date.prototype.addMonths= function(m)
{
    var d = this.getDate();
    this.setMonth(this.getMonth() + m);

    if (this.getDate() < d)
        this.setDate(0);
};


Date.prototype.addYears = function(y)
{
    var m = this.getMonth();
    this.setFullYear(this.getFullYear() + y);

    if (m < this.getMonth())
     {
        this.setDate(0);
     }
};

var now = new Date();
now.addDays(1);//加减日期操作
alert(now.Format("yyyy-MM-dd"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值