js提供了日期时间Date对象。它可以获取有关日期时间的方法,包括获取时间戳。js中的时间戳都是毫秒级的。本章将介绍如何在js中获取秒级和毫秒级的两种时间戳。时间戳纪元时间1970年1月1日00:00:00 GMT。
秒时间戳
一般日期都会使用时分秒,很少会用到毫秒。
毫秒时间戳
sign签名,对时效性要求较高的场景使用毫秒级会更好。
毫秒时间戳的长度是13位整数。
Date.now() //1692071779606
(new Date()).getTime() //1692071779606
(new Date()).valueOf() //1692071779606
Number(new Date()) //1692071779606
默认时间时分秒毫秒是08:00:00:000。如果指定的时间中没有毫秒部分。则毫秒默认是000。所以下面获取的毫秒时间戳最后三位始终是000。
(new Date('2023-08-14')).getTime() //1691971200000
(new Date('2023-08-14')).valueOf() //1691971200000
Number(new Date('2023-08-14')) //1691971200000
秒时间戳的长度是10位整数。
公式:秒时间戳 = Math.floor( 毫秒时间戳 / 1000 )
使用Math对象floor()方法,向下取整数。
Math.floor( Date.now() / 1000 )
指定的时间如果没有精确到毫秒,毫秒部分默认是000。所以下面直接除以1000即可。
Date.parse('2023-08-14') / 1000