Java教程

Javascript 时间格式化输出

本文主要是介绍Javascript 时间格式化输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

描述 ( from 牛客网)

按所给的时间格式输出指定的时间
格式说明
对于 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;
    }
  });
}

这篇关于Javascript 时间格式化输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!