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

时间:2022-01-02 02:31:18

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

 

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

 

  1. function timestampToTime(timestamp) {
  2.         var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
  3.         var Y = date.getFullYear() + '-';
  4.         var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
  5.         var D = date.getDate() + ' ';
  6.         var h = date.getHours() + ':';
  7.         var m = date.getMinutes() + ':';
  8.         var s = date.getSeconds();
  9.         return Y+M+D+h+m+s;
  10.     }
  11.     timestampToTime(1403058804);
  12.     console.log(timestampToTime(1403058804)); //2014-06-18 10:33:24

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

 

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

 

var date = new Date('2014-04-23 18:55:49:123');

    // 有三种方式获取

  1.     var time1 = date.getTime();
  2.     var time2 = date.valueOf();
  3.     var time3 = Date.parse(date);
  4.     console.log(time1);//1398250549123
  5.     console.log(time2);//1398250549123
  6.     console.log(time3);//1398250549000

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

 

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

 

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

 

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

 

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

 

3、如果希望转换为我自己想要的格式,就在本页面重写一下  toLocaleString()方法即可。

 

Date.prototype.toLocaleString = function() {
          return this.getFullYear() + "年" + (this.getMonth() + 1) + "月" + this.getDate() + "日 " + this.getHours() + "点" + this.getMinutes() + "分" + this.getSeconds() + "秒";
    };

 

---------------------------------------------------------分割线---------------------------------------------------

 

小编码字找图不易,希望小编的分享能对大家有所启发。大家有不同的意见或建议可以在下面的留言区跟我交流。觉得好可以关注,后续还有继续推文噢~ 

 

         赞赏小编一个跳跳糖~~~