您的位置:

从多个方面详细阐述js字符串转时间戳

一、字符串转时间戳

在前端开发中,字符串转时间戳是比较常见的问题。时间戳是一个数字,表示自 1970 年 1 月 1 日 00:00:00 以来的毫秒数。我们可以使用 Date 对象的 getTime() 方法获取时间戳。

示例代码:

const timestamp = new Date('2022-01-01 00:00:00').getTime();
console.log(timestamp);

getTime() 方法返回的是以毫秒为单位的时间戳。以上代码会返回 1640995200000。

二、js字符串转时间对象

在对字符串进行时间计算时,可能需要将字符串转换为时间对象。我们可以使用 Date 对象包装字符串来实现。

示例代码:

const timeString = '2022-01-01 12:00:00';
const timeObject = new Date(timeString);
console.log(timeObject);

上述代码会将 '2022-01-01 12:00:00' 这个字符串转成时间对象,并打印出来。

三、js字符串转成时间

我们还可以使用 Date 对象的一些方法,将时间转换成需要的格式。

示例代码:

const timeString = '2022-01-01 12:00:00';
const timeObject = new Date(timeString);
const year = timeObject.getFullYear(); // 2022
const month = timeObject.getMonth() + 1; // 1
const date = timeObject.getDate(); // 1
const hours = timeObject.getHours(); // 12
const minutes = timeObject.getMinutes(); // 0
const seconds = timeObject.getSeconds(); // 0
console.log(`${year}-${month}-${date} ${hours}:${minutes}:${seconds}`);

上述代码会将时间字符串转成时间对象,并将年、月、日、时、分、秒打印出来。

四、时间字符串转时间戳

除了字符串转时间对象和字符串转时间戳之外,还有一个常见的需求是将时间字符串转成时间戳。

示例代码:

const timeString = '2022-01-01 12:00:00';
const timestamp = new Date(timeString).getTime();
console.log(timestamp);

以上代码会将时间字符串 '2022-01-01 12:00:00' 转成时间戳,并打印出来。

五、字符串可以转成时间戳吗

字符串不能直接转成时间戳,需要先将字符串转成时间对象,再使用 getTime() 方法获取时间戳。

六、js时间转为时间戳的方法

除了使用 Date 对象的 getTime() 方法获取时间戳外,我们还可以使用其他库来实现时间转时间戳的功能。

示例代码:

// 使用 moment 库将时间字符串转成时间戳
const moment = require('moment');
const timestamp = moment('2022-01-01 00:00:00').valueOf();
console.log(timestamp);

// 使用 day.js 库将时间字符串转成时间戳
import dayjs from 'dayjs';
const timestamp = dayjs('2022-01-01 00:00:00').valueOf();
console.log(timestamp);

以上代码会分别使用 moment 和 day.js 这两个库将时间字符串转成时间戳,并打印出来。