43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
const formatFlags = {
|
||
format: function (format, date) {
|
||
date = new Date(date);
|
||
let ret;
|
||
const opt = {
|
||
'y+': date.getFullYear().toString(), // 年
|
||
'M+': (date.getMonth() + 1).toString(), // 月
|
||
'd+': date.getDate().toString(), // 日
|
||
};
|
||
for (let k in opt) {
|
||
ret = new RegExp('(' + k + ')').exec(format);
|
||
if (ret) {
|
||
format = format.replace(ret[1], (ret[1].length === 1) ? opt[k] : this.padZero(opt[k], ret[1].length));
|
||
}
|
||
}
|
||
return format;
|
||
},
|
||
|
||
/**
|
||
* PC 端微信不支持 padStart,这里写一个补 0 函数
|
||
* 如果测试已兼容,则可使用原生 padStart
|
||
* issue #1277
|
||
*/
|
||
padZero(str, length) {
|
||
let res = str;
|
||
for (let i = 0; i < length - str; i++) {
|
||
res = '0' + res;
|
||
}
|
||
return res;
|
||
}
|
||
};
|
||
|
||
formatFlags.format('yyyy/MM/dd', new Date());
|
||
formatFlags.format('yyyy-MM-dd', new Date());
|
||
formatFlags.format('yyyy-M-dd', new Date());
|
||
formatFlags.format('yyyy-M-d', new Date());
|
||
// formatFlags.format('yy-M-dd', new Date())
|
||
formatFlags.format('M-dd', new Date());
|
||
formatFlags.format('MM-dd', new Date());
|
||
|
||
|
||
export default formatFlags;
|