木灵鱼儿
阅读:2191
获取时间戳的几种方法
我们有两种方式获取,一种是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
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。
相关推荐
moment的diff计算相差几天,结果返回的值差一天的解决办法
最近有一个地方需要计算过期时间,然后返回天数,但是我用diff计算,得到的结果就是和后端算的相差一天。//后端返回的时间 const endTime = "2021-12-04"; //前端获取当前时间 const startTime = Date.now(); //或者new Date().getTime() //计算结果 const day = moment(endTime).diff(startTime,"days");得到的结果,永远是差一天的结果。比如今天是时间是:2020-12-08 10:46:00,转为时间戳为:160739556...
element 时间组件转时间戳
所有的时间组件,存服务器一般都是需要转时间戳的,并且由于位数问题,都是以秒为单位存储。<el-form> <el-form-item :label="label"> <el-date-picker :placeholder="placeholder" :value="value" :type="type" format="yyyy-MM-dd" value-fo...