UNIX 时间戳是指自协调世界时 (UTC) 1970 年 1 月 1 日 00:00:00 至现在的秒数。它广泛用于计算机系统中,特别是在 Web 开发中。将日期和时间转换为 UNIX 时间戳可以方便地进行计算和比较。
Date 和 Time 对象
在 JavaScript 中,可以使用 Date
对象表示日期和时间。Date
对象有多种构造函数,其中最常用的是不带参数的构造函数(返回当前时间)和带参数的构造函数(接受日期或字符串作为参数)。例如:
const now = new Date(); // 当前时间 const time1 = new Date('2023-04-07T10:13:34'); // 指定时间 const time2 = new Date(2023, 3, 7, 10, 13, 34); // 指定时间
转换为 UNIX 时间戳
要将日期和时间转换为 UNIX 时间戳,可以使用 getTime()
方法获取 Date
对象的毫秒数,然后将其除以 1000。例如:
const now = new Date(); const timestamp = Math.floor(now.getTime() / 1000); console.log(timestamp); // 1651942438
如果需要精确到毫秒,则无需除以 1000:
const now = new Date(); const timestamp = now.getTime(); console.log(timestamp); // 1651942438356
从 UNIX 时间戳转换回日期和时间
要将 UNIX 时间戳转换回日期和时间,可以将其乘以 1000(如果精确到秒)或不做处理(如果精确到毫秒),然后使用 Date
对象的构造函数创建一个新的 Date
对象。例如:
const timestamp = 1651942438; // 精确到秒 const date = new Date(timestamp * 1000); console.log(date.toLocaleString()); // 2022/5/7 上午11:33:58 const timestamp = 1651942438356; // 精确到毫秒 const date = new Date(timestamp); console.log(date.toLocaleString()); // 2022/5/7 上午11:33:58
总结
本文介绍了如何将日期和时间转换为 UNIX 时间戳,并从 UNIX 时间戳转换回日期和时间。示例代码中包含了精确到秒和毫秒的情况。这些技巧在 Web 开发中非常有用,特别是在计算日期和时间差、比较日期和时间等方面。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/14468