要求:按所给的时间格式输出指定的时间
格式说明:对于 2014.09.05 13:14:20
- yyyy: 年份,2014
- yy: 年份,14
- MM: 月份,补满两位,09
- M: 月份, 9
- dd: 日期,补满两位,05
- d: 日期, 5
- HH: 24制小时,补满两位,13
- H: 24制小时,13
- hh: 12制小时,补满两位,01
- h: 12制小时,1
- mm: 分钟,补满两位,14
- m: 分钟,14
- ss: 秒,补满两位,20
- s: 秒,20
- w: 星期,为 [‘日’, ‘一’, ‘二’, ‘三’, ‘四’, ‘五’, ‘六’] 中的某一个,本 demo 结果为 五
// 写法极其牛批
function formatDate(time, format) {
time = new Date(time)
let f = {
yyyy: time.getFullYear(),
yy: String(time.getFullYear()).slice(-2),
MM: String(time.getMonth() + 1).padStart(2, '0'),
M: time.getMonth() + 1,
dd: String(time.getDate()).padStart(2, '0'),
d: time.getDate(),
HH: String(time.getHours()).padStart(2, '0'),
H: time.getHours(),
hh: String(time.getHours() % 12).padStart(2, '0'),
h: time.getHours() % 12,
mm: String(time.getMinutes()).padStart(2, '0'),
m: time.getMinutes(),
ss: String(time.getSeconds()).padStart(2, '0'),
s: time.getSeconds(),
w: ['日', '一', '二', '三', '四', '五', '六'][time.getDay()]
}
return format.replace(/[A-z]+/ig, $1 => f[$1])
}