js日期的格式化

// 對Date的擴(kuò)展,將 Date 轉(zhuǎn)化為指定格式的String
// 月(M)、日(d)禾酱、小時(h)猴誊、分(m)驾锰、秒(s)稠炬、季度(q) 可以用 1-2 個占位符蓬抄, 
// 年(y)可以用 1-4 個占位符跪但,毫秒(S)只能用 1 個占位符(是 1-3 位的數(shù)字) 
// 例子: 
// (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(),                   //小時 
        "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; 
}        

調(diào)用: 
var time1 = new Date().format("yyyy-MM-dd");
var time2 = new Date().format("yyyy-MM-dd hh:mm:ss");  

/** 對Date的擴(kuò)展,將 Date 轉(zhuǎn)化為指定格式的String  
 * 月(M)茄靠、日(d)茂契、12小時(h)、24小時(H)慨绳、分(m)掉冶、秒(s)、周(E)儡蔓、季度(q) 可以用 1-2 個占位符 
 * 年(y)可以用 1-4 個占位符郭蕉,毫秒(S)只能用 1 個占位符(是 1-3 位的數(shù)字) 
 * eg: 
 * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423      
 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04      
 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04      
 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04      
 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18      
 */     
Date.prototype.pattern=function(fmt) {         
    var o = {         
    "M+" : this.getMonth()+1, //月份         
    "d+" : this.getDate(), //日         
    "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小時         
    "H+" : this.getHours(), //小時         
    "m+" : this.getMinutes(), //分         
    "s+" : this.getSeconds(), //秒         
    "q+" : Math.floor((this.getMonth()+3)/3), //季度         
    "S" : this.getMilliseconds() //毫秒         
    };         
    var week = {         
    "0" : "/u65e5",         
    "1" : "/u4e00",         
    "2" : "/u4e8c",         
    "3" : "/u4e09",         
    "4" : "/u56db",         
    "5" : "/u4e94",         
    "6" : "/u516d"        
    };         
    if(/(y+)/.test(fmt)){         
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));         
    }         
    if(/(E+)/.test(fmt)){         
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);         
    }         
    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;         
}       
     
var date = new Date();      
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));

Date.prototype.Format = function (fmt) {
  var o = {
    "y+": this.getFullYear(),
    "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()             //毫秒
  };
  for (var k in o) {
    if (new RegExp("(" + k + ")").test(fmt)){
      if(k == "y+"){
        fmt = fmt.replace(RegExp.$1, ("" + o[k]).substr(4 - RegExp.$1.length));
      }
      else if(k=="S+"){
        var lens = RegExp.$1.length;
        lens = lens==1?3:lens;
        fmt = fmt.replace(RegExp.$1, ("00" + o[k]).substr(("" + o[k]).length - 1,lens));
      }
      else{
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
      }
    }
  }
  return fmt;
}

var date = new Date();
console.log(date.Format("yyyy年MM月dd日 hh:mm:ss.S")); //輸出: 2016年04月01日 10:41:08.133
console.log(date.Format("yyyy-MM-dd hh:mm:ss")); //輸出: 2016-04-01 10:41:08
console.log(date.Format("yy-MM-dd hh:mm:ss")); //輸出: 16-04-01 10:41:08
console.log(date.Format("yy-M-d hh:mm:ss")); //輸出: 16-4-1 10:41:08
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市喂江,隨后出現(xiàn)的幾起案子召锈,更是在濱河造成了極大的恐慌,老刑警劉巖获询,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涨岁,死亡現(xiàn)場離奇詭異,居然都是意外死亡吉嚣,警方通過查閱死者的電腦和手機(jī)梢薪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尝哆,“玉大人秉撇,你說我怎么就攤上這事∏镄梗” “怎么了琐馆?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恒序。 經(jīng)常有香客問我瘦麸,道長,這世上最難降的妖魔是什么歧胁? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任滋饲,我火速辦了婚禮厉碟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屠缭。我一直安慰自己箍鼓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布勿她。 她就那樣靜靜地躺著袄秩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逢并。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天郭卫,我揣著相機(jī)與錄音砍聊,去河邊找鬼。 笑死贰军,一個胖子當(dāng)著我的面吹牛玻蝌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播词疼,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼俯树,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贰盗?” 一聲冷哼從身側(cè)響起许饿,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舵盈,沒想到半個月后陋率,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秽晚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年瓦糟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赴蝇。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡菩浙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出句伶,到底是詐尸還是另有隱情劲蜻,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布熄阻,位于F島的核電站斋竞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏秃殉。R本人自食惡果不足惜坝初,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一浸剩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鳄袍,春花似錦绢要、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至哀九,卻和暖如春剿配,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阅束。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工呼胚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人息裸。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓蝇更,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呼盆。 傳聞我的和親對象是個殘疾皇子年扩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容