【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 结果为 五

示例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);

 

posted @ 2021-08-01 19:23  icyyyy  阅读(19)  评论(0)    收藏  举报