(function($){
$.formatDate = function(date,pattern) {
var result = [];
while (pattern.length>0) {
$.formatDate.patternParts.lastIndex = 0;
var matched = $.formatDate.patternParts.exec(pattern);
if (matched) { result.push($.formatDate.patternValue[matched[0]].call(this,date)); pattern = pattern.slice(matched[0].length); }
else { result.push(pattern.charAt(0)); pattern = pattern.slice(1); }
}
return result.join('');
};
$.formatDate.patternParts =
/^(yy(yy)?|M(M(M(M)?)?)?|d(d)?|EEE(E)?|a|H(H)?|h(h)?|m(m)?|s(s)?|S)/;
$.formatDate.monthNames = [
'January','February','March','April','May','June','July',
'August','September','October','November','December'
];
$.formatDate.dayNames = [
'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday',
'Saturday'
];
$.formatDate.patternValue = {
yy: function(date) {
return $.toFixedWidth(date.getFullYear(),2);
},
yyyy: function(date) {
return date.getFullYear().toString();
},
MMMM: function(date) {
return $.formatDate.monthNames[date.getMonth()];
},
MMM: function(date) {
return $.formatDate.monthNames[date.getMonth()].substr(0,3);
},
MM: function(date) {
return $.toFixedWidth(date.getMonth()+1,2);
},
M: function(date) {
return date.getMonth()+1;
},
dd: function(date) {
return $.toFixedWidth(date.getDate(),2);
},
d: function(date) {
return date.getDate();
},
EEEE: function(date) {
return $.formatDate.dayNames[date.getDay()];
},
EEE: function(date) {
return $.formatDate.dayNames[date.getDay()].substr(0,3);
},
HH: function(date) {
return $.toFixedWidth(date.getHours(),2);
},
H: function(date) {
return date.getHours();
},
hh: function(date) {
var hours = date.getHours();
return $.toFixedWidth(hours>12 ? hours - 12 : hours,2);
},
h: function(date) {
return date.getHours()%12;
},
mm: function(date) {
return $.toFixedWidth(date.getMinutes(),2);
},
m: function(date) {
return date.getMinutes();
},
ss: function(date) {
return $.toFixedWidth(date.getSeconds(),2);
},
s: function(date) {
return date.getSeconds();
},
S: function(date) {
return $.toFixedWidth(date.getMilliseconds(),3);
},
a: function(date) {
return date.getHours() < 12 ? 'AM' : 'PM';
}
};
$.toFixedWidth = function(value,length,fill) {
var result = (value || '').toString();
fill = fill || '0';
var padding = length - result.length;
if (padding < 0) {
result = result.substr(-padding);
}
else {
for (var n = 0; n < padding; n++) result = fill + result; } return result; }; })(jQuery);
$.formatDate(date,pattern)
根据提供的模式格式化传入的日期,在模式中被替换的标记如下所示:
yyyy:4位数字的年份
yy:2位数字的年份
MMMM:月份的完整名称
MMM:月份的缩写名称
MM:由0补足,2个字符字段的月份数字
M:月份数字
dd:由0补足,2个字符字段中的月份的天
d:月份中的天
EEEE:星期的完整名称
EEE:星期的缩写名称
a:上午或者下午(AM或者PM)
HH:由0补足,2个字符字段中的一天24小时制的第几个小时
H:一天中24小时制的第几个小时
hh: 由0补足,一天12小时制的第几个小时
h:一天12小时制的第几个小时
mm:由0补足,两个字段的一个小时的分钟数
m:一个小时的分钟数
ss:由0补足,2个字符字段的一分钟的秒数
s:一分钟的秒数
S:由0补足,3个字符字段的一秒内的毫秒数