js时间戳与日期格式的相互转换

js时间戳与日期格式的相互转换

 

下面总结一下js中时间戳与日期格式的相互转换:

1. 将时间戳转换成日期格式:

//时间戳转 日期
console.log(this.timestampToTime(new Date().getTime(),'yyyy-mm-dd hh:MM:ss'));

    timestampToTime (timestamp, format) {
      var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 6
      let config = {
        yyyy: '',
        mm: '',
        dd: '',
        hh: '',
        MM: '',
        ss: '',
      };

      config.yyyy = date.getFullYear();
      config.mm = (date.getMonth() + 1 < 10 ? '-' + '0' + (date.getMonth() + 1) : '-' + date.getMonth() + 1);
      config.dd = date.getDate() < 10 ? '-' + '0' + date.getDate() + ' ' : '-' + date.getDate();
      config.hh = ' ' + date.getHours();
      config.MM = ':' + date.getMinutes();
      config.ss = ':' + date.getSeconds();

      let result = '';
      for (let item in config) {
        if (format.indexOf(item) != -1) {
          result += config[item];
        }
      }
      return result;
    }

 

注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。

 

2. 将日期格式转换成时间戳:

  

1 var date = new Date('2014-04-23 18:55:49:123');
2     // 有三种方式获取
3     var time1 = date.getTime();
4     var time2 = date.valueOf();
5     var time3 = Date.parse(date);
6     console.log(time1);//1398250549123
7     console.log(time2);//1398250549123
8     console.log(time3);//1398250549000

以上三种获取方式的区别:

  第一、第二种:会精确到毫秒

  第三种:只能精确到秒,毫秒用000替代

  以上三个输出结果可观察其区别

  注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。

 

 

借鉴于:https://www.cnblogs.com/crf-Aaron/archive/2017/11/16/7844462.html

posted @ 2018-12-05 16:25  小旺同学  阅读(4660)  评论(0编辑  收藏  举报