按所给的时间格式输出指定的时间
格式说明
对于 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
输入:
formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')
输出:
2014-09-05 13:14:20 星期五
——————————————————————————————————————————个人笔记
function formatDate(datetime, format) {
const year = datetime.getFullYear();
const month = datetime.getMonth() + 1;
const date = datetime.getDate();
const hour = datetime.getHours();
const minute = datetime.getMinutes();
const second = datetime.getSeconds();
const day = datetime.getDay();
const dayName = ['日', '一', '二', '三', '四', '五', '六'][day];
const addZero = (num) => num < 10 ? ("0" + num) : num;
return format.replace(/(yyyy|yy|MM|M|dd|d|HH|H|hh|h|mm|m|ss|s|w)/g, function(match) {
switch(match) {
case "yyyy":
return year;
case "yy":
return year % 100;
case "MM":
return addZero(month);
case "M":
return month;
case "dd":
return addZero(date);
case "d":
return date;
case "HH":
return addZero(hour);
case "H":
return hour;
case "hh":
return addZero(hour % 12);
case "h":
return hour % 12;
case "mm":
return addZero(minute);
case "m":
return minute;
case "ss":
return addZero(second);
case "s":
return second;
case "w":
return dayName;
}
});
}
总结
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/webdev/291398.html