javascript时间戳转date之间相互转换

时间戳 12-23 17:26

一、时间(Date)转时间戳(Timestamp):

1、var timestamp1 = (new Date()).valueOf();
2、var timestamp2 = new Date().getTime();
3、var timetamp3 = Number(new Date());

二、时间戳(Timestamp)转时间(Date):

1、var date1 = new Date(1472048779952);
2、var date2=date1.toLocaleDateString().replace(///g, "-") + " " + timestamp4.toTimeString().substr(0, 8));
3、toLocaleDateString方法在不同的浏览器中有可能结果不同

#时间(Date)转时间戳(Timestamp):

var timestamp1 = (new Date()).valueOf();
// 结果:1640160537605,通过valueOf()函数返回指定对象的原始值获得准确的时间戳值;

var timestamp2 = new Date().getTime();
// 结果:1640160537605,通过原型方法直接获得当前时间的毫秒值,准确;

var timetamp3 = Number(new Date()) ;
// 结果:1640160537605,将时间转化为一个number类型的数值,即时间戳;

#时间戳(Timestamp)转时间(Date):

var date1 = new Date(1640250919000);
// 结果:Thu Dec 23 2021 17:15:19 GMT+0800 (中国标准时间), 直接用 new Date(时间戳) 格式转化获得当前时间;

var date2 = date1.toLocaleDateString().replace(///g, "-") + " " + date1.toTimeString().substr(0, 8);
// 结果:"2021-12-23 17:15:19" ,再利用拼接正则等手段转化为yyyy-MM-dd hh:mm:ss 格式;

3、toLocaleDateString方法在不同的浏览器中有可能结果不同,可进行如下操作(最好的办法是不用它):

function getdate() {
  var now = new Date(),
  y = now.getFullYear(),
  m = now.getMonth() + 1,
  d = now.getDate();
  return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}

小知识:getmonth()为什么要加1

getmonth()这个方法获取的其实是索引值。他的值是从0开始的。所以要加1才会得到真正的月份

 

相关推荐