在javascript中获取当前epoc时间戳的多种方法

230 阅读1分钟

在这篇文章中,你将学到在javascript中获取当前epoc时间戳的多种方法。

epoch时间是Unix风格的,自1971年1月1日起以毫秒为单位,这意味着它返回以毫秒为单位的长数字,这就是epoch时间unix时间戳

Javascript提供的Date 对象提供了与日期和时间有关的东西。

注意:Javascript在客户端和服务器端运行。当你处理与日期和时间有关的值时,你将不会得到正确的结果,因为这些都取决于客户端机器。

只返回服务器端的时间戳总是好的。

首先,在javascript中创建一个Date对象,返回当前日期和时间。

console.log(new Date())// get current date and time

getTime() Date对象中的方法返回长数字,即从1971年1月1日的UTC时间算起的毫秒数。

console.log(new Date().getTime()) // number of milliseconds elapsed from epoc 1610334435379

date.now在IE8或更小的版本中不支持,所以你必须按照MDN写一个polyfill代码来支持它。

if (!Date.now) {
  Date.now = function now() {
    return new Date().getTime();
  };
}

还有另一种方法来获取时间戳,valueOf 方法

获取以秒为单位的时间戳

getTime() 或 now() 返回以毫秒为单位的时间,一秒钟等于1000毫秒。

使用除法运算符来获取秒数。

例子:

console.log(Math.floor(new Date().getTime() / 1000));
console.log(Math.floor(Date.now() / 1000));