/**
* Extension of Date, convert Date into String in specified format
* Month (M), day (d), 12 hours (h), 24 hours (H), minutes (m), seconds ( s), week (E), quarter (q) can use 1-2 placeholders
* year (y) can use 1-4 placeholders, milliseconds (S) can only use 1 placeholder symbol (is a number of 1-3 digits)
* 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 Tuesday 20:09:04
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 Tuesday 08:09:04
* (new Date( )).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 Tuesday 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, //Month
"d " : this.getDate(), //Day
"h " : this.getHours() == 0 ? 12 : this.getHours() , //Hours
"H " : this.getHours(), //Hours
"m " : this .getMinutes(), //Minutes
"s " : this.getSeconds(), //Seconds
"q " : Math.floor((this.getMonth() 3)/3), //Quarter
"S" : this.getMilliseconds() //Milliseconds
};
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" ));