📜  日期是否大于 18 岁 javascript (1)

📅  最后修改于: 2023-12-03 15:40:09.244000             🧑  作者: Mango

判断日期是否大于 18 岁的 JavaScript 代码

在 JavaScript 中,我们可以使用 Date() 对象来处理日期和时间。如果我们要判断一个日期是否大于 18 岁,我们需要将当前日期与 18 岁的出生日期进行比较。

获取当前日期

要获取当前日期,我们可以使用以下代码:

const today = new Date();

这将创建一个 Date() 对象,其日期和时间设置为当前日期和时间。

计算 18 岁的出生日期

我们可以使用 setFullYear() 方法来设置出生日期的年份,然后将月份和日期分别设置为 1 月和 1 日。以下代码可以计算出一个人 18 岁的出生日期:

const year = today.getFullYear() - 18;
const dob = new Date(year, 0, 1);

在上面的代码中,我们首先计算了 18 岁的年份,然后使用 Date() 构造函数创建一个新的 Date() 对象,并将年份设置为上面的值。我们将月份设置为 0(即 1 月),日期设置为 1 日。

比较日期

现在我们有了当年的出生日期。如果我们要比较当前日期和出生日期,我们可以使用简单的 < 运算符来判断是否大于 18 岁。以下代码演示了如何比较日期:

if (dob > today) {
  console.log("未满18岁");
} else {
  console.log("已满18岁");
}

在上面的代码中,我们首先检查出生日期是否在当前日期之后。如果是,则表明当前日期还未到达 18 岁的出生日期,因此该人员未满18岁。否则,该人员已满18岁。

完整代码

以下是在 JavaScript 中判断日期是否大于 18 岁的完整代码:

const today = new Date();
const year = today.getFullYear() - 18;
const dob = new Date(year, 0, 1);

if (dob > today) {
  console.log("未满18岁");
} else {
  console.log("已满18岁");
}

我们可以将上面的代码放在一个函数中,将日期作为参数传递。以下是示例函数:

function isOver18(dateOfBirth) {
  const today = new Date();
  const year = today.getFullYear() - 18;
  const dob = new Date(dateOfBirth);
  dob.setFullYear(year, 0, 1);

  if (dob > today) {
    return false;
  } else {
    return true;
  }
}

console.log(isOver18("2004-01-01")); // false
console.log(isOver18("2002-01-01")); // true

在上面的代码中,我们创建了一个名为 isOver18() 的函数。我们将出生日期作为参数传递给该函数,该函数将返回一个布尔值,指示该人员是否已满18岁。

总结

以上是如何在 JavaScript 中判断日期是否大于 18 岁的完整代码。我们使用了 Date() 对象来处理日期和时间,并通过比较当前日期和 18 岁出生日期来确定一个人是否已满18岁。