UNIX 时间戳是一个整数值,表示自UNIX 纪元于 1970 年 1 月 1 日 00:00:00 UTC以来经过的秒数。简而言之,这是一种将时间跟踪为运行总秒数的方法。因此,UNIX 时间戳只是特定日期和 UNIX 纪元之间的秒数。
JavaScriptDate
对象提供了几种处理日期和时间的方法。now()
您可以通过调用对象上的函数来获取当前时间戳,Date
如下所示:
const timestamp = Date.now();
此方法以毫秒为单位返回当前的 UTC 时间戳。Date.now()
适用于几乎所有现代浏览器,除了 IE8 和更早版本。但是你可以通过编写一个小的 polyfill 轻松解决这个问题:
if(!Date.now) {
Date.now = () => new Date().getTime();
}
否则,您也可以通过调用在旧版浏览器中也可以使用的其他 JavaScript 函数来获得相同的时间戳:
const timestamp = new Date().getTime();
// OR
const timestamp = new Date().valueOf();
要将时间戳转换为秒(UNIX 时间),您可以执行以下操作:
const unixTime = Math.floor(Date.now() / 1000);
该unixTime
变量现在包含当前日期和时间的 UNIX 时间戳,具体取决于用户的 Web 浏览器。
建议
Date.now()
尽可能使用 polyfill。与其他函数不同,例如getTime()
,它更短并且不会创建Date
对象的新实例。
使用终端
如果您使用的是 UNIX 兼容机器,如 Ubuntu 或 macOS,您可以通过在终端中键入以下内容轻松获取当前的 UNIX 时间戳:
$ date +%s
1567562058