Javascript中Date對象的格式化

不少語言中都帶有日期的格式化函數,而Javascript中卻沒有提供相似的方法。
以前從某位前人的帖子中發現了下面的代碼,感受很是簡潔,存留備用。函數

/**
* 時間對象的格式化;
*/
Date.prototype.format = function (format) {
    /*
       示例 
       var d=new Date();
       d.format("YYYY-MM-dd hh:mm:ss");
       結果:"2014-01-02 12:34:56"   
    */
    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(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "") //
                .substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
                    : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
}
相關文章
相關標籤/搜索