1. 程式人生 > >javascript擴展時間方法,格式化,加減日期

javascript擴展時間方法,格式化,加減日期

ets 轉化 val 日期 type bstr 昨天 this isnan

/**
 *對Date的擴展,將 Date 轉化為指定格式的String
 *月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符,
 *年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數字)
 *例子:
 *(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
 *(new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
 */
Date.prototype.format 
= function (fmt) { var o = { ‘M+‘: this.getMonth() + 1, // 月份 ‘d+‘: this.getDate(), // ‘h+‘: this.getHours(), // 小時 ‘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 }
/**
 *js中更改日期
 * y年, m月, d日, h小時, n分鐘,s秒
 * var start = new Date();
 *start.add("d", -1); //昨天
 *start.format(‘yyyy/MM/dd w‘); //格式化
 *start.add("m", -1); //上月
 */
Date.prototype.add = function (part, value) {
    value *= 1;
    if (isNaN(value)) {
        value = 0;
    }
    switch (part) {
        case "y":
            this.setFullYear(this.getFullYear() + value);
            break;
        case "m":
            this.setMonth(this.getMonth() + value);
            break;
        case "d":
            this.setDate(this.getDate() + value);
            break;
        case "h":
            this.setHours(this.getHours() + value);
            break;
        case "n":
            this.setMinutes(this.getMinutes() + value);
            break;
        case "s":
            this.setSeconds(this.getSeconds() + value);
            break;
        default:
    }
    return this;
}

如果這篇文章對您有幫助,您可以打賞我

技術分享圖片

技術交流QQ群:15129679

javascript擴展時間方法,格式化,加減日期