一、什么是时间戳
在 JavaScript 开发中,时间戳指的是:从 格林威治时间 1970年01月01日 00:00:00 至今的总毫秒数。
时间戳是一串 13 位纯数字,没有时区、格式干扰,是计算机识别时间的标准格式。
普通的年月日时分秒是字符串格式,容易出现格式不统一、无法对比、解析报错等问题;而时间戳是纯数字,运算简单、对比精准、兼容性极强,是前端处理时间的核心方案。
二、JS 三种获取时间戳的方法
前端开发中常用三种标准方式获取时间戳,分别适用于不同场景,下面逐一详解。
- Date.now() 【最简、最常用】
直接获取当前最新时间的时间戳,无需创建时间对象,语法最简单,日常开发首选。
// 获取当前时间戳
let time = Date.now();
console.log(time);
// 输出示例:1720123456789
适用场景:记录当前操作时间、统计接口耗时、生成当前时间标记。
2. 时间对象.valueOf() 【精准时间转换】
通过 new Date() 创建时间对象,调用 valueOf() 方法,返回对应时间的毫秒时间戳。
// 获取当前时间戳
let time = new Date().valueOf();
// 也可获取指定时间的时间戳
let time2 = new Date(‘2026-01-01’).valueOf();
console.log(time, time2);
适用场景:需要单独处理某个指定时间、精准对比时间差值。
3. Date.parse() 【时间字符串转时间戳】
专门用于将 时间字符串 转换成时间戳,适合后端返回时间字符串、自定义固定时间的场景。
// 时间字符串转为时间戳
let time = Date.parse(‘2026-05-20 12:30:00’);
console.log(time);
注意:该方法默认精确到秒,末尾三位默认为 000,适合粗略时间统计。
三、时间戳的核心作用(项目实战用途)
时间戳不只是单纯的时间记录,在项目开发中有两个高频核心用途:缓存清理、版本更新。
- 用于清除浏览器缓存
浏览器会缓存静态资源(JS、CSS、图片),导致代码更新后页面不刷新。
解决方案:资源路径后拼接实时时间戳。
因为时间戳每秒都在变化,浏览器会认为是全新资源,强制重新加载,彻底清除缓存问题。
// 拼接时间戳清除缓存
let url =index.js?t=${Date.now()};
- 用于项目版本更新控制
在项目迭代、版本更新中,可以用时间戳标记当前版本更新时间。
用户打开页面时,对比本地存储的旧时间戳与最新版本时间戳,判断是否需要:刷新页面、更新资源、提示版本升级。
有效解决用户停留在旧版本页面、看不到新功能的问题,是企业项目通用的版本更新方案。 - 拓展常用用途
●时间对比:判断过期时间、会员到期、活动倒计时;
●耗时统计:统计接口请求、代码执行耗时;
●唯一标识:利用毫秒唯一性,简单生成临时唯一 ID。
四、总结 - 时间戳定义:格林威治1970年1月1日至今的毫秒数,纯数字、无格式、好运算;
- 三种获取方式:Date.now() 获取当前时间、valueOf() 时间对象转换、Date.parse() 时间字符串转换;
- 核心用途:清理浏览器静态缓存、控制项目版本更新,同时可用于时间对比、耗时统计等场景;
- 时间戳是前端处理时间、解决缓存问题、项目迭代更新的基础核心知识点,是日常开发高频必备语法。