JS时间戳和时间之间转换_时间戳js转换_获取时间戳js
js中通过new Date()来获取时间对象。这个时间对象可以通过getTime()方法获取时间戳,也可以通过getYear()、getMonth()获取年月,也可以通过toTimeString().substr(0, 8));的方法获取时分秒。
javascript返回常用日期格式yyyy-mm-dd hh:mm:ss
getDatetime(uptime){ let date = new Date(uptime); let Y = date.getFullYear()+'-', M = ((date.getMonth()+1)<10 ? '0'+(date.getMonth()+1):(date.getMonth()+1))+'-', D = (date.getDate()<10 ? '0'+date.getDate():date.getDate()) + ' ', h = (date.getHours()<10 ? '0'+date.getHours():date.getHours())+ ':', m = (date.getMinutes()<10 ? '0'+date.getMinutes():date.getMinutes()) + ':', s = date.getSeconds()<10 ? '0'+date.getSeconds():date.getSeconds(); return Y+M+D+h+m+s; } //返回效果:2022-12-04 10:44:55
转换成更多其它格式
var data = new Date(时间戳); //获取一个时间对象 date.getFullYear() //获取4位完整的年份 date.getMonth() //获取月份0-11,0代表1月,依此类推,用的时候要加1 date.getDate() //获取日期1-31 date.getHours() //获取小时数0-23 date.getMinutes() //获取分钟数0-59 date.getSeconds() //获取秒数0-59 /*用上面的方法可以按照自己想要的格式自由拼接*/
时间转时间戳
javascript获得时间戳的方法有四种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳
1.var timestamp1 = Date.parse(new Date()); //结果:16837040110000 不推荐这种办法,毫秒级别的数值被转化为000 2.var timestamp2 = (new Date()).valueOf(); //结果:16837040110401 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值 3.var timestamp3 = new Date().getTime(); //结果:16837040110401 ,通过原型方法直接获得当前时间的毫秒值,准确 4.var timetamp4 = Number(new Date()) ; //结果:16837040110401 ,将时间转化为一个number类型的数值,即时间戳
时间戳转时间
var timestamp4 = new Date(16837040110401);//直接用new Date(时间戳) 格式转化获得当前时间 console.log(timestamp4); console.log(timestamp4.toLocaleDateString().replace(/\//g, "-") + " " + timestamp4.toTimeString().substr(0, 8)); //再利用拼接正则等手段转化为yyyy-MM-dd hh:mm:ss 格式
效果如下:
不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为2016年8月24日 22:26:19 格式 搜狗为Wednesday, August 24, 2016 22:39:42