-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdataformate.js
44 lines (41 loc) · 1.38 KB
/
dataformate.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
* 时间对象的格式化;
*/
Date.prototype.format = function(format) {
/*
* eg:format="yyyy-MM-dd hh:mm:ss";
*/
var o = {
"M+" : this.getMonth() + 1, // month
"d+" : this.getDate(), // day
"h+" : this.getHours(), // hour
"m+" : this.getMinutes(), // minute
"s+" : this.getSeconds(), // second
"q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
"S+" : this.getMilliseconds()
// millisecond
}
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)) {
var formatStr="";
for(var i=1;i<=RegExp.$1.length;i++){
formatStr+="0";
}
var replaceStr="";
if(RegExp.$1.length == 1){
replaceStr=o[k];
}else{
formatStr=formatStr+o[k];
var index=("" + o[k]).length;
formatStr=formatStr.substr(index);
replaceStr=formatStr;
}
format = format.replace(RegExp.$1, replaceStr);
}
}
return format;
}