js日期加减得到新的日期

转自:http://www.cnblogs.com/jiangsuzz/archive/2009/02/27/1400016.html

因为js中没有如同C#中的AddDays的方法, 所以重写了Date对象的prototype,扩展了增加日期的方法,方便以后使用

 


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"));

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值