关于JS DateTime的那点事
Javascript中的日期和时间对象是非常常用的,特别是在前端web开发中。在这篇攻略中,我们会详细讲解JS DateTime相关的概念以及如何在JS中处理日期和时间。
JS中的日期和时间对象
在JS中,日期和时间对象可以通过 Date()
构造函数来创建。以下是几种常见的创建日期对象的方法。
创建一个新日期对象
const date = new Date();
console.log(date);
输出结果可能长这样:Sun May 30 2021 21:22:48 GMT+0800 (中国标准时间)
。
通过指定时间字符串创建日期对象
const date = new Date('2021-05-30T13:00:00Z');
console.log(date);
输出结果为:Sun May 30 2021 21:00:00 GMT+0800 (中国标准时间)
。
通过给定时间戳创建日期对象
const date = new Date(1622384400000);
console.log(date);
输出结果为:Sun May 30 2021 21:00:00 GMT+0800 (中国标准时间)
。
以上是创建日期对象的几种常见方法,接下来我们将介绍如何在JS中对日期和时间进行操作。
操作日期和时间
在进行日期和时间处理时,我们经常需要对日期进行加减、比较大小、格式化等操作。以下是几个常用的日期和时间处理方法。
获取一个日期对象中的时间戳
const date = new Date('2021-05-30T13:00:00Z');
console.log(date.getTime());
输出结果为:1622384400000
。
获取一个日期对象中的年份
const date = new Date('2021-05-30T13:00:00Z');
console.log(date.getFullYear());
输出结果为:2021
。
对日期进行加减
const date = new Date('2021-05-30T13:00:00Z');
date.setHours(date.getHours() + 2);
console.log(date);
输出结果为:Sun May 30 2021 23:00:00 GMT+0800 (中国标准时间)
。
这里我们通过 setHours()
方法将日期对象中的小时数加上2,达到日期加减的效果。
将日期格式化为指定字符串格式
const date = new Date();
const dateTimeString = date.toISOString();
console.log(dateTimeString);
输出的 dateTimeString
可能长这样:2021-05-30T13:00:00.000Z
。
以上是JS中处理日期和时间的几个例子,而在实际开发中,我们可能还会用到各种各样的日期和时间操作方法。
示例1: 格式化日期并输出
const date = new Date('2021-05-30T13:00:00Z');
const year = date.getFullYear();
const month = date.getMonth() + 1; // 注意,月份从0-11,还需要加上1
const day = date.getDate();
console.log(`${year}-${month}-${day}`);
以上代码将日期格式化为 YYYY-MM-DD
的字符串格式,并输出。
示例2:计算两个日期的时间间隔
function daysBetween(startDate, endDate) {
const oneDay = 24 * 60 * 60 * 1000;
const days = Math.round(Math.abs((startDate - endDate) / oneDay));
return days;
}
const startDate = new Date('2021-05-01T00:00:00Z');
const endDate = new Date('2021-05-30T23:59:59Z');
const days = daysBetween(startDate, endDate);
console.log(`相差 ${days} 天`);
以上代码计算了两个日期之间相差的天数。我们先定义了一个 daysBetween()
函数,传入两个日期对象,然后通过简单的数学计算得出它们之间相差的天数。最后,我们使用 console.log()
输出计算结果。
这里需要注意的是,我们计算相差天数时使用了绝对值,因此无论 startDate
是在 endDate
之前还是之后,都能够得到正确的结果。
以上就是关于JS DateTime的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于js datetime的那点事 - Python技术站