js AddDays ,AddYears

//日期类型变量格式化,默认格式"xxxx-xx-xx"
Date.prototype.Format = function (fmt) {
    fmt = fmt || "yyyy-MM-dd";
    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);
    return this;
}

//添加周
Date.prototype.AddWeeks = function (w) {
    this.addDays(w * 7);
    return this;
}

//添加月
Date.prototype.AddMonths = function (m) {
    var d = this.getDate();
    this.setMonth(this.getMonth() + m);

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

    return this;
}

//添加年
Date.prototype.AddYears = function (y) {
    var m = this.getMonth();
    this.setFullYear(this.getFullYear() + y);

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

    return this;
}

//日期加减函数,strDate传入你需要的日期,格式"xxxx-xx-xx"。days传要加减的日期数,往前传正数,往后传负数
function AddDate(strDate, days, fmt) { 
    var date = new Date(strDate);
    date.setDate(date.getDate() + days);
    return date.Format(fmt);
}

  

posted on 2024-04-23 11:35  itjeff  阅读(37)  评论(0编辑  收藏  举报

导航