JS 生成时间戳

在前端开发中,经常会用到时间戳来标记某个时间点。时间戳是一个数字,表示自1970年1月1日00:00:00 UTC(世界时)起经过的秒数。JavaScript中有多种方法可以生成时间戳,下面将详细介绍这些方法。
Date对象转换为时间戳
JavaScript中的Date对象可以获取当前时间,并可以通过getTime()方法获取当前时间的时间戳。下面是一个示例代码:
const date = new Date();
const timestamp = date.getTime();
console.log(timestamp);
运行上述代码,将输出当前时间的时间戳,例如1631766819712。
使用Date.now()方法生成时间戳
除了通过Date对象获取时间戳外,JavaScript还提供了Date.now()方法来直接获取当前时间的时间戳。下面是一个示例代码:
const timestamp = Date.now();
console.log(timestamp);
运行上述代码,同样可以输出当前时间的时间戳,例如1631766819712。
使用new Date().getTime()和Date.now()方法比较
new Date().getTime()与Date.now()方法都可以获取当前时间的时间戳,但它们之间有一些细微的差别。
new Date().getTime()方法会创建一个新的Date对象,然后获取该对象的时间戳。这意味着会多出创建对象的开销。-
Date.now()方法直接返回当前时间的时间戳,不需要额外创建对象,因此性能更佳。
一般来说,推荐使用Date.now()方法来获取时间戳,因为它更加高效。
将时间戳转换为日期
获取时间戳后,有时候需要将时间戳转换为日期以便于阅读。JavaScript提供了new Date()方法来将时间戳转换为日期。下面是一个示例代码:
const timestamp = 1631766819712; // 假设为时间戳
const date = new Date(timestamp);
const year = date.getFullYear();
const month = date.getMonth() + 1; // 月份是从0开始计算的,需要加1
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
console.log(`{year}-{month}-{day}{hour}:{minute}:{second}`);
上述代码可以将时间戳1631766819712转换为日期,并输出类似2021-09-16 15:40:19的格式。
总结
本文介绍了在JavaScript中通过Date对象和Date.now()方法生成时间戳的方法,以及将时间戳转换为日期的示例。
极客笔记