js 时间转时间戳

在前端开发中,经常会涉及到对时间的处理。有时候我们需要将时间转换为时间戳,以便进行时间的比较、排序等操作。JavaScript提供了一种方便的方法来将时间转换为时间戳,下面就来详细介绍一下。
时间戳的概念
时间戳是指从1970年1月1日 00:00:00 UTC到特定时间的秒数。在JavaScript中,时间戳通常是一个10位的整数,表示从1970年1月1日到当前时间的秒数。
获取当前时间的时间戳
在JavaScript中,可以使用Date.now()方法来获取当前时间的时间戳。这个方法会返回当前时间的时间戳,单位为毫秒。
const timestamp = Date.now();
console.log(timestamp);
运行上面的代码,会输出当前时间的时间戳,结果类似于1588231688632。需要注意的是,时间戳是以毫秒为单位的,如果需要转换为以秒为单位的时间戳,需要进行相应的调整。
将特定时间转换为时间戳
除了获取当前时间的时间戳外,我们有时候也需要将特定时间转换为时间戳。这时候可以通过Date对象来实现。
const date = new Date('2022-01-01 00:00:00');
const timestamp = date.getTime();
console.log(timestamp);
在上面的代码中,我们创建了一个日期对象,表示2022年1月1日0点0分0秒,然后通过getTime()方法获取该日期对应的时间戳。运行代码,会输出特定时间的时间戳,结果为1640995200000。
如果传入的是一个无效的日期格式,new Date()会返回Invalid Date,需要注意处理这种情况。
手动计算时间戳
除了使用内置的方法外,我们还可以手动计算时间戳。时间戳是从1970年1月1日开始计时的,我们可以通过计算特定时间距离1970年1月1日的毫秒数来得到时间戳。
const date = new Date('2022-01-01 00:00:00');
const timestamp = date.getTime() - new Date('1970-01-01').getTime();
console.log(timestamp);
在上面的代码中,我们计算了特定时间距离1970年1月1日的毫秒数,从而得到了时间戳。运行代码,结果为1640995200000。
总结
通过上面的介绍,我们了解了在JavaScript中如何将时间转换为时间戳。可以通过内置的方法Date.now()或者Date对象来获取特定时间的时间戳,也可以手动计算时间戳。时间戳在前端开发中是一个常用的概念,有助于对时间进行方便的比较和处理。
极客笔记