JavaScript 获取当前时间戳 时间戳和日期格式的转换

JS获取当前时间戳的方法

第一种方法:
var timestamp = Date.parse(new Date());  
结果:1477808630000 不推荐这种办法,毫秒级别的数值被转化为000


第二种方法:
var timestamp = (new Date()).valueOf();
结果:1477808630404 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值



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



第四种方法:
var timestamp4=Number(new Date());
结果:1477808630404 ,将时间转化为一个number类型的数值,即时间戳

 

 

时间戳转时间

方法1:

var time = new Date(1526572800000); //直接用 new Date(时间戳) 格式转化获得当前时间
console.log(time); // VM626:2 Fri May 18 2018 00:00:00 GMT+0800 (中国标准时间)
var times = time.toLocaleDateString().replace(/\//g,"-")+" "+time.toTimeString().substr(0,8);          
//再利用拼接正则等手段转化为yyyy-MM-dd hh:mm:ss 格式
console.log(times); //  2018-5-18 00:00:00

不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为2016年8月24日 22:26:19 格式
 搜狗为Wednesday, August 24, 2016 22:39:42, 可以通过分别获取时间的年月日进行拼接,如方法2

方法2:

var now = new Date(1526572800000),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate(),
x = y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
console.log(x); // 2018-05-18 00:00:00

 

交流

可添加qq群共同进阶学习: 进军全栈工程师疑难解  群号:   856402057

我是老礼,公众号「进军全栈攻城狮」作者 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!

                                                  

 

 

你可能感兴趣的:(JavaScript)