📜  javascript 时间戳(以秒为单位) - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:44.166000             🧑  作者: Mango

Javascript 时间戳 (以秒为单位)

在 Javascript 中,时间戳通常指的是自 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数。它是一种表示时间的常见方式,广泛应用于 Web 开发和其他应用程序中。

获取当前时间戳

我们可以使用 Date.now() 或者 new Date().getTime() 来获取当前的时间戳。

// 使用 Date.now() 获取时间戳
const timestamp1 = Date.now();
console.log(timestamp1); // 输出当前时间戳 (毫秒级别)

// 使用 new Date().getTime() 获取时间戳
const timestamp2 = new Date().getTime();
console.log(timestamp2); // 输出当前时间戳 (毫秒级别)

如果想要获取以秒为单位的时间戳,可以将毫秒级别的时间戳除以 1000,再向下取整即可。

// 获取以秒为单位的时间戳
const timestamp = Math.floor(Date.now() / 1000);
console.log(timestamp); // 输出当前时间戳 (秒级别)
将时间戳转换为日期

如果我们有一个时间戳,想要将它转换为日期格式,可以使用 Date 对象的构造函数。需要注意的是,它的参数是毫秒级别的时间戳,所以需要将秒级别的时间戳乘以 1000。

// 将时间戳转换为日期
const timestamp = 1621458000; // 2021-05-20 10:00:00 (UTC+8)
const date = new Date(timestamp * 1000);
console.log(date); // 输出 Wed May 19 2021 22:00:00 GMT+0800 (中国标准时间)

如果想要将日期格式化为指定的字符串格式,可以使用 toLocaleString() 方法和 DateTimeFormat 对象。

// 将日期格式化为指定的字符串格式
const options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, timeZone: 'Asia/Shanghai' };
const formattedDate = new Intl.DateTimeFormat('en-US', options).format(date);
console.log(formattedDate); // 输出 05/20/2021, 10:00:00
将日期转换为时间戳

如果我们有一个日期对象,想要获取它的时间戳,可以使用 getTime() 方法。需要注意的是,它返回的是毫秒级别的时间戳,如果要获取以秒为单位的时间戳,需要将它除以 1000,再向下取整。

// 将日期转换为时间戳
const date = new Date('2021-05-20T10:00:00.000Z');
const timestamp = Math.floor(date.getTime() / 1000);
console.log(timestamp); // 输出 1621458000
总结

Javascript 时间戳是一种表示时间的常见方式,可以使用 Date.now() 或者 new Date().getTime() 来获取当前的时间戳,使用 getTime() 来获取日期对象的时间戳,使用日期对象的构造函数来将时间戳转换为日期,使用 toLocaleString()DateTimeFormat 对象来格式化日期字符串。