📜  js 时间戳 - Javascript (1)

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

JS 时间戳 - Javascript

在开发过程中,我们常常需要记录时间并进行相应的处理,而 JavaScript 的时间戳(Timestamp)可以提供我们方便的时间记录和转换。

什么是时间戳?

时间戳是指从某个特定时间点到现在所经过的毫秒数,通常以 Unix 时间戳为标准。Unix 时间戳(或称为 POSIX 时间戳)指的是从 1970 年 1 月 1 日 00:00:00 UTC 计时至今的秒数。JavaScript 中的时间戳是从 Unix 时间戳中获取的,但通常指的是距离 1970 年 1 月 1 日 00:00:00 UTC 所经过的毫秒数。

如何获取时间戳?

JavaScript 中可以通过 Date 对象的 getTime() 方法获取当前时间戳,具体代码如下:

const now = new Date();
const timestamp = now.getTime();
console.log(timestamp);

其中,now.getTime() 返回当前时间距离 1970 年 1 月 1 日 00:00:00 UTC 所经过的毫秒数,将其赋值给变量 timestamp

时间戳的转换

在实际开发中,我们常常需要将时间戳转换为人类可读的时间格式,或将人类可读的时间格式转换为时间戳。JavaScript 中提供了丰富的 API 来方便我们进行时间戳的转换操作。

时间戳转换为日期时间字符串

可以通过 Date 对象的 toLocaleString() 方法将时间戳转换为本地日期时间字符串,具体代码如下:

const timestamp = 1620220838515;
const date = new Date(timestamp);
const dateTimeString = date.toLocaleString();
console.log(dateTimeString);

其中,new Date(timestamp) 根据毫秒时间戳获取对应的 Date 对象,date.toLocaleString()Date 对象转换为本地日期时间字符串。

时间戳转换为日期字符串

若只需要转换为日期字符串,可以通过 Date 对象的 toLocaleDateString() 方法,具体代码如下:

const timestamp = 1620220838515;
const date = new Date(timestamp);
const dateString = date.toLocaleDateString();
console.log(dateString);

其中,date.toLocaleDateString() 返回日期字符串,不包含时间信息。

时间戳转换为时间字符串

若只需要转换为时间字符串,可以通过 Date 对象的 toLocaleTimeString() 方法,具体代码如下:

const timestamp = 1620220838515;
const date = new Date(timestamp);
const timeString = date.toLocaleTimeString();
console.log(timeString);

其中,date.toLocaleTimeString() 返回时间字符串,不包含日期信息。

日期时间字符串转换为时间戳

若需将日期时间字符串转换为时间戳,可以通过 Date 对象的 parse() 方法,具体代码如下:

const dateTimeString = '2021-05-05T00:00:00.000Z';
const timestamp = Date.parse(dateTimeString);
console.log(timestamp);

其中,Date.parse(dateTimeString) 将日期时间字符串转换为时间戳。

其他常用方法

除了上述常用方法,JavaScript 中还有其他常用的时间戳转换方法,例如 getDate()getMonth()getFullYear() 等,分别返回 Date 对象对应的日期、月份、年份等信息。完整的时间戳转换方法,请参考 Date - JavaScript | MDN

小结

通过本文的介绍,相信您已经掌握了 JavaScript 中时间戳的基本用法及转换方法。在实际开发中,时间戳的运用非常广泛,例如订单创建时间、日志时间记录等,掌握好时间戳的用法可以提高开发效率,帮助您更好地完成项目。