JavaScript 获取 Unix 时间戳的三种方法

Ryan
Ryan
发布时间:2026-10-14| 4人浏览过
原创

本文详细讲解如何在 JavaScript 中获取当前的 Unix 时间戳,包括秒级和毫秒级两种常见需求。文中提供了基于 Date 对象的经典实现方式,以及现代 JavaScript 标准的便捷写法,帮助您快速在项目中集成时间戳功能。

核心结果与目标

Unix 时间戳通常指从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数或毫秒数。在 JavaScript 开发中,最常见的需求是获取当前时刻的时间戳,用于日志记录、缓存失效判断或 API 数据签名。根据业务场景不同,可能需要精确到毫秒(数值较大)或秒(数值较小)。

准备条件

无需安装任何第三方库,浏览器原生 JavaScript 环境即可运行所有示例代码。确保您的运行环境支持所提及的 JavaScript 版本特性(如 ES2022)。

具体操作顺序

第 1 步:使用 getTime() 获取毫秒级时间戳

目的:获取距离 1970 年 1 月 1 日的毫秒总数,这是最通用的做法,兼容所有 JS 环境。

入口:页面 JavaScript 脚本或 Node.js 环境。

动作:创建 Date 实例并调用 getTime() 方法。

<!DOCTYPE html>
<html>
<body>
<p id="demo">点击按钮显示自 1970 年以来的毫秒数:</p>
<button onclick="showTimestamp()">显示时间戳</button>
<script>
function showTimestamp() {
  // 创建当前时间的 Date 对象
  var d = new Date();
  // 获取毫秒级时间戳
  var timestamp = d.getTime();
  
  // 将结果写入页面元素
  var x = document.getElementById("demo");
  x.innerHTML = "当前毫秒时间戳:" + timestamp;
}
</script>
</body>
</html>

完成状态:页面上会显示一个长整型数字(如 1678888888000),代表当前毫秒数。

第 2 步:使用 Date.now() 获取秒级时间戳

目的:许多后端接口(如 Python、PHP)习惯接收秒级时间戳,需进行整数除法转换。

入口:全局 Date 对象方法。

动作:调用 Date.now() 获取毫秒,除以 1000 并使用 Math.floor() 向下取整。

// 推荐方式:简洁且高性能
var secondsTimestamp = Math.floor(Date.now() / 1000);
console.log(secondsTimestamp); // 例如:1678888888

// 替代方式:等价于 getTime()
var secondsFromGetTime = Math.floor(new Date().getTime() / 1000); 
console.log(secondsFromGetTime);

完成状态:控制台输出一个较短的整型数字,适合大多数服务器端逻辑。

第 3 步:使用 getTimestamp() 获取标准化时间戳(ES2022+)

目的:ECMAScript 2022 引入了更明确的 API 来获取秒级时间戳,语义更清晰。

入口:新版浏览器或 Node.js 环境。

动作:直接调用 getTimestamp() 方法。

// 仅适用于支持 ES2022 的环境
var standardSeconds = new Date().getTimestamp();
console.log(standardSeconds);

注意:如果需要在旧版环境中兼容,请使用 Math.floor(Date.now() / 1000)。

关键注意事项

  • 时区问题:JavaScript 的 Date 对象返回的时间戳是基于 UTC 的绝对值,不随本地时区变化而变化,这保证了跨时区的一致性。
  • 精度差异:毫秒级时间戳精度为 1ms,秒级为 1s。在进行时间比较或存储前,请确认服务端或第三方服务要求的精度单位。
  • 负数情况:如果 Date 对象代表的是 1970 年之前的时间,getTime() 将返回负数。对于现代应用,这通常不是问题,但在处理历史数据时需留意。

简要总结

在 JavaScript 中获取时间戳非常简单。若需要毫秒级精度,直接使用 new Date().getTime();若需要秒级精度以适应多数后端系统,推荐使用 Math.floor(Date.now() / 1000)。随着标准演进,getTimestamp() 也将成为更直观的获取秒级时间戳的方式。

以上就是 JavaScript 获取 Unix 时间戳的详细教程,更多关于 JavaScript 日期处理技巧的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。