什么是 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 对象、方法来获取、创建、格式化时间。如果需要进行更加高级的时间操作,我们可以使用第三方时间库来实现。