如何在JavaScript中比較日期詳解
前言
日期是開發(fā)人員在創(chuàng)建實(shí)際應(yīng)用程序時最常用的數(shù)據(jù)類型之一。 但通常,開發(fā)人員會在這種數(shù)據(jù)類型上苦苦掙扎,最終使用像 Moment.js 這樣的日期庫來完成簡單的任務(wù),這些任務(wù)不值得安裝整個包所帶來的大包大小。
當(dāng)我們想到 JavaScript 中的日期比較時,我們會想到使用 Date 對象 ( Date()
),當(dāng)然,它確實(shí)有效。
date 對象允許我們使用>
, <
, =
, or>=
比較運(yùn)算符進(jìn)行比較,但不能使用相等比較運(yùn)算符,如==
, !=
, ===
, and !==
(除非我們將日期方法附加到 date 對象)。
讓我們從學(xué)習(xí)如何僅使用日期對象執(zhí)行比較開始,然后我們將了解如何使用日期對象和日期方法執(zhí)行相等比較。
如何在 JavaScript 中與日期對象進(jìn)行日期比較
假設(shè)我們想在 JavaScript 中比較兩個日期。我們可以通過這種方式輕松使用 Date 對象 ( Date()
):
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"); }
以上將返回兩個日期相同,因?yàn)槲覀儧]有傳遞不同的日期:
"Both Dates are same"
現(xiàn)在讓我們傳入不同的日期值:
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"); }
現(xiàn)在將返回以下內(nèi)容:
"Date 1 is greater than Date 2"
幸運(yùn)的是,當(dāng)前兩個條件失敗時,上面將相等作為最后一個選項(xiàng)。但是假設(shè)我們嘗試以這種方式將相等作為條件處理:
let date1 = new Date(); let date2 = new Date(); if (date1 === date2) { console.log("Both Dates are same"); } else { console.log("Not the same"); }
它將返回以下內(nèi)容,這是錯誤的
"Not the same"
如何使用 JavaScript 進(jìn)行等式比較
為了處理相等比較,我們使用日期對象和getTime()
返回毫秒數(shù)的日期方法。但是,如果我們想比較特定的信息,如日、月等,我們可以使用其他日期方法,如getDate()
、getHours()
、和。getDay()
getMonth()
getYear()
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"
我們可以將不同的日期傳入到日期對象中進(jìn)行比較:
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"); }
正如預(yù)期的那樣,這將返回:
"Not equal"
注意:通過該
getTime()
方法,我們可以使用所有比較運(yùn)算符執(zhí)行所有形式的日期比較,即>
、<
、<=
、>=
、==
、!=
、===
和!==
。
如何執(zhí)行特定日期比較
假設(shè)我們想要比較特定的日期值,比如年份。然后我們可以這樣使用.getYear()
日期方法:
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`); }
總結(jié)
到此這篇關(guān)于如何在JavaScript中比較日期的文章就介紹到這了,更多相關(guān)JS日期比較內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript html5 canvas畫布中刪除一個塊區(qū)域的方法
這篇文章主要介紹了JavaScript html5 canvas畫布中刪除一個塊區(qū)域的方法,涉及JavaScript結(jié)合html5操作canvas畫布圖形繪制的技巧,需要的朋友可以參考下2016-01-01詳細(xì)聊聊JavaScript是如何影響DOM樹構(gòu)建的
DOM (Document Object Model) 的全稱是文檔對象模型,它可以以一種獨(dú)立于平臺和語言的方式訪問和修改一個文檔的內(nèi)容和結(jié)構(gòu),這篇文章主要給大家介紹了關(guān)于JavaScript是如何影響DOM樹構(gòu)建的相關(guān)資料,需要的朋友可以參考下2021-08-08微信小程序開發(fā)之從相冊獲取圖片 使用相機(jī)拍照 本地圖片上傳
本篇文章主要介紹了微信小程序開發(fā)之從相冊獲取圖片--使用相機(jī)拍照,本地圖片上傳的相關(guān)資料。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04JS實(shí)現(xiàn)根據(jù)出生年月計(jì)算年齡
本篇文章主要是對利用JS實(shí)現(xiàn)根據(jù)出生年月計(jì)算年齡的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01JAVASCRIPT style 中visibility和display之間的區(qū)別
visibility屬性用來確定元素是顯示還是隱藏的,這用visibility="visible|hidden"來表示(visible表示顯示,hidden表示隱藏)。2010-01-01從0到1學(xué)習(xí)JavaScript編寫貪吃蛇游戲
這篇文章主要為大家詳細(xì)介紹了JavaScript編寫貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07用javascript實(shí)現(xiàn)li 列表數(shù)據(jù)隔行變換背景顏色
客戶端效果,效率自然不錯。以前的做法是偶數(shù)行時給li加一個class,方法當(dāng)然不可取,如果后臺讀取再加class就很麻煩了,看看這個效果2007-08-08