📅  最后修改于: 2023-12-03 15:02:24.223000             🧑  作者: Mango
在开发过程中,我们常常需要记录时间并进行相应的处理,而 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 中时间戳的基本用法及转换方法。在实际开发中,时间戳的运用非常广泛,例如订单创建时间、日志时间记录等,掌握好时间戳的用法可以提高开发效率,帮助您更好地完成项目。