在前端项目中,有时会有后台返回一个时间戳,页面展示却是普通的日期格式,针对这种情况有很多种解决的办法, 最常见的就是组件库中自带的日期组件,可以将时间戳自动转换成普通时间格式。本篇文章将展示在不需要日期组件的时候就怎么 使用原生的方法去进行转化。

  • 代码如下:
    timeChange(UTCDateString) {
      if (!UTCDateString) {
        return '-';
      }
      function formatFunc(str) {
        return str > 9 ? str : '0' + str
      }
      var date2 = new Date(UTCDateString);
      var year = date2.getFullYear();
      var mon = formatFunc(date2.getMonth() + 1);
      var day = formatFunc(date2.getDate());
      var hour = date2.getHours();
      var noon = hour >= 12 ? 'PM' : 'AM'; // 判断是上午还是下午
      hour = hour >= 12 ? hour - 12 : hour; // 12小时制
      hour = formatFunc(hour);
      var min = formatFunc(date2.getMinutes());
      var sec = formatFunc(date2.getSeconds());
      var dateStr = year + '-' + mon + '-' + day + ' ' + hour + ':' + min + ':' + sec;
      return dateStr;
    },

在调用函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。如果想传入特定日期,需将表示日期的字符串传递给函数。如下所示:

this.timeChange(res.result.builtAt)//括号中是需要传进去的时间戳

最后就可以成功的把时间戳转换为普通的时间格式啦!