js获取时间戳的方法

文章发布于 2023-08-16

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