在 JavaScript 中查找经过的时间

什么是 JavaScript 中的时间?

在编程中,时间戳是一个非常重要的概念。时间戳是指从1970年1月1日格林威治标准时间00:00:00开始的总秒数,通常用于表示一个事件发生的时间。在 JavaScript 中,我们可以通过多种方式来处理时间,例如获取当前时间、创建时间对象、格式化时间等等。

获取当前时间

使用 Date 对象

在 JavaScript 中,我们可以使用 Date 对象来获取当前的时间。Date 对象是 JavaScript 内置对象之一,可以用来表示日期和时间,也可以进行相关操作。

let now = new Date();

console.log(now);

上面代码中我们生成了一个 Date 对象,然后输出这个对象,可以看到输出的结果包含当前的年、月、日、时、分、秒等信息。

使用 UNIX 时间戳

UNIX 时间戳是指从1970年1月1日格林威治标准时间00:00:00开始的总秒数,也就是我们前面提到的时间戳。在 JavaScript 中,我们可以使用 Date.now() 方法来获取当前的 UNIX 时间戳。

let now = Date.now();

console.log(now);

上面代码中我们直接调用 Date.now() 方法获取当前的时间戳,并输出这个时间戳。

创建时间对象

使用 Date 对象

除了获取当前时间,我们还可以使用 Date 对象来创建一个指定的时间对象。

let date = new Date('2021/12/31 23:59:59');

console.log(date);

上面代码中我们传入一个指定的日期时间字符串,然后生成一个 Date 对象,并输出这个对象。

使用时间戳

既然 UNIX 时间戳就是从1970年1月1日格林威治标准时间00:00:00开始的总秒数,那么我们也可以使用时间戳来创建一个指定的时间对象。

let date = new Date(1640995199000);

console.log(date);

上面代码中我们传入一个指定的时间戳,然后生成一个 Date 对象,并输出这个对象。需要注意的是,时间戳以毫秒为单位,所以需要将秒数乘以1000。

格式化时间

在实际应用中,我们通常需要将时间进行格式化,例如将时间转换成年月日的格式,或者将时间转换成指定的字符串格式等等。

使用 toLocaleString() 方法

toLocaleString() 方法可以将时间转换成本地时间的字符串表示形式。

let date = new Date('2021/12/31 23:59:59');

console.log(date.toLocaleString());

上面代码中我们首先创建一个时间对象,然后调用 toLocaleString() 方法将其转换成本地时间字符串,并输出这个字符串。

使用第三方库

除了使用内置方法来格式化时间之外,我们还可以使用第三方库来进行更加高级的时间格式化操作。常用的第三方时间库包括 Moment.js 和 day.js 等等。

// 使用 Moment.js 格式化时间

let date = new Date('2021/12/31 23:59:59');

console.log(moment(date).format('YYYY-MM-DD HH:mm:ss'));

// 使用 day.js 格式化时间

let date2 = new Date('2021/12/31 23:59:59');

console.log(dayjs(date2).format('YYYY-MM-DD HH:mm:ss'));

上面代码中,我们分别使用 Moment.js 和 day.js 两个第三方库来格式化时间。需要注意的是,这两个库需要先引入相应的 JS 文件,才能在 JavaScript 中使用。

总结

在 JavaScript 中处理时间是一个非常常见的操作,我们可以通过内置的 Date 对象、方法来获取、创建、格式化时间。如果需要进行更加高级的时间操作,我们可以使用第三方时间库来实现。