JS获取当前毫秒数(时间戳)汇总
方法1:Date.now()Date对象的内置方法let a = Date.now();console.log(a);//1523619204809方法2:getTime()创建一个日期对象,调用该对象的getTime()方法let d = new Date().getTime()console.log(d);//1523...
·
方法1: Date.now()
Date对象的内置方法
let a = Date.now();
console.log(a); //1523619204809
方法2: getTime()
创建一个日期对象,调用该对象的getTime()
方法
let d = new Date().getTime()
console.log(d); //1523619204809
方法3: valueOf()
基于Date
类型的valueOf()
方法,不会返回一个字符串,而是返回日期的毫秒表示
let c = new Date().valueOf();
console.log(c); //1523619204809
另外,基于Date
类型valueOf()
的特征,我们可以对两个日期进行比较大小:
let a = new Date('2000-02');
let b = new Date('2010-02');
console.log(b > a); //true
这里的b > a
中的关系操作符>
, b 和 a
是对象,调用对象的valueOf()
方法,而Date
类型的valueOf()
会返回对应的毫秒数,所以可以进行比较。
具体的有关大小比较的转化规则,之前博客有写到,JS中大于、小于的不同比较规则
方法4: +new Date()
let b = +new Date();
console.log(b); //1523619204809
+new Date()
结果为什么是毫秒数?
其实这个涉及到JS中另外一个知识点,一元操作符(+或者-)对 非数值 的转换。
如果 +
号 应用于对象之前,会首先调用找个对象的valueOf()
和toString()
.
我们看一个例子:
let n = {
valueOf: function(){
return -1;
}
}
console.log(+n) // -1
+n
调用了对象的valueOf()
,结果是 -1
所以+new Date()
这个方法又回到了方法3中的valueOf()
,所以执行结果是相同的。
方法5:
Date.parse(new Date())
更多推荐
所有评论(0)