js获取当前的时间戳
1.js获取当前的毫秒数(时间戳)
总结五种方法,前四种可以获取精确到毫秒的时间戳,最后一种方法不能获取到精确到一毫秒的时间戳。
方法1:Date.now() Date对象的内置方法
let a=Date.now();
console.log(a); //1636444650730
方法2:getTime() 创建一个日期对象,调用该对象的getTime()方法
let b = new Date().getTime();
console.log(b); //1636444650730
方法3:valueOf() 该方法是基于Date类型的valueOf()方法,不会返回一个字符串,而是返回日期的毫秒表示
let c = new Date().valueOf();
console.log(c); //1636444650730
方法4:+new Date()
let d = +new Date();
console.log(d); //1636444650730
问题 :+new Date()的结果为什么是毫秒数?这可以用js的一元操作符(+和-)对非数值进行转化
如果为+号,用于对象的时候,首先会先调用这个对象身上的valueOf()和toString()方法
例如:
let e = {
valueOf(){
return 111
}
}
console.log(+e) //111
+e调用了e中的valueOf()方法,所以结果为111
总的来说+new Date()方法和new Date().valueOf()方法是相同的
方法5:Date.parse(new Date())
此方法获取到的毫秒数是不精确的
let f = Date.parse(new Date())
console.log(f); //1636444650000