📜  javascript 比较日期 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:36.666000             🧑  作者: Mango

JavaScript 比较日期

在 JavaScript 中,比较日期可以使用 Date 对象和运算符 <, <=, >, >=, ===, !== 进行,返回的结果是布尔型。

创建日期对象

要创建 Date 对象,可以使用以下方法之一:

  1. new Date():创建当前日期的 Date 对象。
  2. new Date(milliseconds):创建指定毫秒数的 Date 对象。
  3. new Date(dateString):创建指定日期字符串的 Date 对象。
  4. 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}.`);
练习
练习 1

编写一个函数 isBefore(date1, date2),判断 date1 是否早于 date2。如果是,返回 true,否则返回 false

/**
 * 判断 date1 是否早于 date2
 * @param {Date} date1
 * @param {Date} date2
 * @returns {boolean}
 */
function isBefore(date1, date2) {
  return date1 < date2;
}
练习 2

编写一个函数 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();
}