阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JavaScript 时间格式化

      需求

      把服务器获取到的时间戳(秒为单位),转化为目标的格式

      比如

      • 2020年06月19日00:59:07
      • 2020【年】06【月】19【日】 00:59:07
      • 2020-06-19 00:59:07
      • 2020/06/19 00:59:07
      • 20200619005907

      实现方法

      let Utils = {
          formatDate: function (timeStamp, format) {
              let date = new Date((timeStamp || 0) * 1000);
              let map = {
                  'y': date.getFullYear(),
                  'M': date.getMonth() + 1,//month
                  'd': date.getDate(),//date
                  'H': date.getHours(),//hours
                  'm': date.getMinutes(),//minutes
                  's': date.getSeconds() //seconds
              };
              for (let i in map) {
                  if (map.hasOwnProperty(i)) {
                      if (map[i] < 10) {
                          map[i] = '0' + map[i];
                      }
                  }
              }
              format = format || 'yyyy-MM-dd HH:mm:ss';
              let reg = new RegExp('y+|M+|d+|H+|m+|s+', 'g');
              let regY = new RegExp('y');
              format = format.replace(reg, function (v) {
                  let old = v;
                  if (regY.test(v)) {
                      let y = "" + map['y'];
                      let len = 4 - v.length;
                      old = y.substr(len);
                  } else {
                      let key = v.substr(0, 1);
                      old = map[key];
                  }
                  return old;
              });
              return format;
          }
      };
      // 模拟一个服务器拿到的时间戳(一般是秒为单位的时间戳)
      let serverTime = parseInt(new Date().getTime() / 1000);
      console.log(Utils.formatDate(serverTime, 'yyyy年MM月dd日HH:mm:ss'))
      console.log(Utils.formatDate(serverTime, 'yyyy【年】MM【月】dd【日】 HH:mm:ss'))
      console.log(Utils.formatDate(serverTime, 'yyyy-MM-dd HH:mm:ss'))
      console.log(Utils.formatDate(serverTime, 'yyyy/MM/dd HH:mm:ss'))
      console.log(Utils.formatDate(serverTime, 'yyyyMMddHHmmss'))
      
      目录
      本文目录
      目录