Date.prototype.Format = function Format(fmt){ var o = { "M+": this.getMonth()+1, "d+": this.getDate(), "H+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "S+": this.getMilliseconds() }; //因位date.getFullYear()出來的結果是number類型的,因此爲了讓結果變成字符串型,下面有兩種方法: if(/(y+)/.test(fmt)){ //第一種:利用字符串鏈接符「+」給date.getFullYear()+"",加一個空字符串即可以將number類型轉換成字符串。 fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)); } for(var k in o){ if (new RegExp("(" + k +")").test(fmt)){ //第二種:使用String()類型進行強制數據類型轉換String(date.getFullYear()),這種更容易理解。 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(String(o[k]).length))); } } return fmt; } console.log(new Date().Format("yyyy-MM-dd HH:mm:ss"))