获取时间戳的几种方法
我们有两种方式获取,一种是new Date()
得到时间对象,一种是Date
函数对象静态方法获取。
new Date()
与Date
的区别就是,前者是构造函数,后者是函数对象,函数对象返回的,只是我们需要的值,他不会有Date对象的内置方法(prototype),所以,它的使用更简洁明确,但是如果我们想要获取时间的年份,月份,星期几,那么new Date()
才是最好的选择。
new Date() 获取
const date = new Date(); //没有传入参数获取当前本地时间
date.getTime(); //1626746413673
date.valueOf(); //1626746413673
data*1; //1626746413673
Number(date); //1626746413673
这里数字的转换,其实依赖于继承自Date构造函数的prototype上的valueOf方法,valueOf返回的是原始值,Date中,原始值是1970年1月1日午夜以来的毫秒数。
所以,在转换成数字格式前,会调用valueOf得到原始值,再进行转换。
如果我们改动一下valueOf:
const date = new Date();
date.valueOf = () => {
return 1;
}
date * 1; //1
结果如同预期一样。
Date 获取
Date.now(); //1626746413673
通过函数对象Date的静态方法获取
传入参数
我们也可以指定时间参数,Date的参数,建议是时间戳或者ISO时间格式,但是ISO时间格式有的是短横线,如:2021-03-23 23:45:59
有的浏览器并不支持短横线,改成斜线即可,并且月份和日期最好是两位数,不够补零。
2021/03/23 23:45:59
分类:
JavaScript
标签:
时间戳Date时间对象
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据