【7】时间格式化输出
描述
按所给的时间格式输出指定的时间
格式说明
对于 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 结果为 五
格式说明
对于 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 结果为 五
示例1
输入:
1 formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')
输出:
1 2014-09-05 13:14:20 星期五
1 function formatDate(t, str) { 2 let year = "" + t.getFullYear(); 3 let month = t.getMonth() + 1; 4 let day = t.getDate(); 5 let hour = t.getHours(); 6 let minutes = t.getMinutes(); 7 let second = t.getSeconds(); 8 let week = ["日", "一", "二", "三", "四", "五", "六"]; 9 let date = { 10 yyyy: year, 11 yy: year.slice(2), 12 MM: ten(month), 13 M: month, 14 dd: ten(day), 15 d: day, 16 HH: ten(hour), 17 H: hour, 18 hh: ten(hour % 12), 19 h: hour % 12, 20 mm: ten(minutes), 21 m: minutes, 22 ss: ten(second), 23 s: second, 24 w: week[t.getDay()], 25 }; 26 for (let key in date) { 27 str = str.replace(key, date[key]); 28 } 29 return str; 30 } 31 32 // 不足10的前面要加0 33 let ten = (num) => (num >= 10 ? num : "0" + num);

浙公网安备 33010602011771号