📅  最后修改于: 2023-12-03 14:42:36.666000             🧑  作者: Mango
在 JavaScript 中,比较日期可以使用 Date
对象和运算符 <
, <=
, >
, >=
, ===
, !==
进行,返回的结果是布尔型。
要创建 Date
对象,可以使用以下方法之一:
new Date()
:创建当前日期的 Date
对象。new Date(milliseconds)
:创建指定毫秒数的 Date
对象。new Date(dateString)
:创建指定日期字符串的 Date
对象。new Date(year, monthIndex, day)
:创建指定年月日的 Date
对象。const today = new Date();
const januaryFirst = new Date(2021, 0, 1);
const dateString = '2021-01-01';
const fromString = new Date(dateString);
要比较两个日期对象,可以使用以下运算符之一:<
, <=
, >
, >=
, ===
, !==
。
const christmas = new Date(2021, 11, 25);
const today = new Date();
if (christmas < today) {
console.log('Christmas has already passed!');
} else if (christmas > today) {
console.log('Christmas is still to come!');
} else {
console.log('Today is Christmas!');
}
可以使用 Date
对象的 getTime()
方法获取日期的时间戳,单位是毫秒。时间戳是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
const now = new Date();
const timestamp = now.getTime();
console.log(`The timestamp is ${timestamp}.`);
编写一个函数 isBefore(date1, date2)
,判断 date1
是否早于 date2
。如果是,返回 true
,否则返回 false
。
/**
* 判断 date1 是否早于 date2
* @param {Date} date1
* @param {Date} date2
* @returns {boolean}
*/
function isBefore(date1, date2) {
return date1 < date2;
}
编写一个函数 isSameDay(date1, date2)
,判断 date1
是否与 date2
在同一天。如果是,返回 true
,否则返回 false
。
/**
* 判断 date1 是否与 date2 在同一天
* @param {Date} date1
* @param {Date} date2
* @returns {boolean}
*/
function isSameDay(date1, date2) {
return date1.getFullYear() === date2.getFullYear()
&& date1.getMonth() === date2.getMonth()
&& date1.getDate() === date2.getDate();
}