• 如何在JavaScript中比较日期


    日期是开发人员在创建实际应用程序时最常用的数据类型之一。 但通常,开发人员会在这种数据类型上苦苦挣扎,最终使用像 Moment.js 这样的日期库来完成简单的任务,这些任务不值得安装整个包所带来的大包大小。

     当我们想到 JavaScript 中的日期比较时,我们会想到使用 Date 对象 ( Date()),当然,它确实有效。

    date 对象允许我们使用><=, or>=比较运算符进行比较,但不能使用相等比较运算符,如==!====, and !==(除非我们将日期方法附加到 date 对象)。

    让我们从学习如何仅使用日期对象执行比较开始,然后我们将了解如何使用日期对象和日期方法执行相等比较。

    如何在 JavaScript 中与日期对象进行日期比较

    假设我们想在 JavaScript 中比较两个日期。我们可以通过这种方式轻松使用 Date 对象 ( Date()):

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    let date1 = new Date();

    let date2 = new Date();

      

    if (date1 > date2) {

      console.log("Date 1 is greater than Date 2");

    } else if (date1 < date2) {

      console.log("Date 1 is less than Date 2");

    } else {

      console.log("Both Dates are same");

    }

     以上将返回两个日期相同,因为我们没有传递不同的日期:

    "Both Dates are same"

    现在让我们传入不同的日期值:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    let date1 = new Date();

    let date2 = new Date("6/01/2022");

      

    if (date1 > date2) {

      console.log("Date 1 is greater than Date 2");

    } else if (date1 < date2) {

      console.log("Date 1 is less than Date 2");

    } else {

      console.log("Both Dates are same");

    }

    现在将返回以下内容:

    "Date 1 is greater than Date 2"

    幸运的是,当前两个条件失败时,上面将相等作为最后一个选项。但是假设我们尝试以这种方式将相等作为条件处理:

    1

    2

    3

    4

    5

    6

    7

    8

    let date1 = new Date();

    let date2 = new Date();

      

    if (date1 === date2) {

      console.log("Both Dates are same");

    } else {

      console.log("Not the same");

    }

     它将返回以下内容,这是错误的

    "Not the same"

    如何使用 JavaScript 进行等式比较

    为了处理相等比较,我们使用日期对象和getTime()返回毫秒数的日期方法。但是,如果我们想比较特定的信息,如日、月等,我们可以使用其他日期方法,如getDate()getHours()、和。getDay()getMonth()getYear()

    1

    2

    3

    4

    5

    6

    7

    8

    let date1 = new Date();

    let date2 = new Date();

      

    if (date1.getTime() === date2.getTime()) {

      console.log("Both  are equal");

    } else {

      console.log("Not equal");

    }

     这将返回:

    "Both are equal"

     我们可以将不同的日期传入到日期对象中进行比较:

    1

    2

    3

    4

    5

    6

    7

    8

    let date1 = new Date("12/01/2021");

    let date2 = new Date("09/06/2022");

      

    if (date1.getTime() === date2.getTime()) {

      console.log("Both  are equal");

    } else {

      console.log("Not equal");

    }

     正如预期的那样,这将返回:

    "Not equal"

     注意:通过该getTime()方法,我们可以使用所有比较运算符执行所有形式的日期比较,即><<=>===!====!==

    如何执行特定日期比较

    假设我们想要比较特定的日期值,比如年份。然后我们可以这样使用.getYear()日期方法:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    let date1 = new Date("06/21/2022").getYear();

    let date2 = new Date("07/28/2021").getYear();

      

    if (date1 < date2) {

      console.log("Date1 is less than Date2 in terms of year");

    } else if (date1 > date2) {

      console.log("Date1 is greater than Date2 in terms of year");

    } else {

      console.log(`Both years are equal`);

    }

    总结

    到此这篇关于如何在JavaScript中比较日期的文章就介绍到这了,希望对你有帮助。

    来源:https://www.weidianyuedu.com

  • 相关阅读:
    从0开始的ios自动化测试
    从头开始进行CUDA编程:Numba并行编程的基本概念
    鉴源论坛 · 观模丨浅谈随机测试
    金仓数据库 KDTS 迁移工具使用指南 (4. BS 版使用说明)
    Linux输出文件夹下所有文件的完整路径shell脚本
    Centos7下创建centos-home逻辑分区
    JAVA计算机毕业设计员工婚恋交友平台Mybatis+源码+数据库+lw文档+系统+调试部署
    AI绘图:GPT4技术的艺术化呈现与无限可能
    『C语言进阶』qsort函数及模拟实现
    JAVA--word等文件转PDF工具类
  • 原文地址:https://blog.csdn.net/hdxx2022/article/details/128095474