如何在JavaScript中比較日期詳解
前言
日期是開(kāi)發(fā)人員在創(chuàng)建實(shí)際應(yīng)用程序時(shí)最常用的數(shù)據(jù)類型之一。 但通常,開(kāi)發(fā)人員會(huì)在這種數(shù)據(jù)類型上苦苦掙扎,最終使用像 Moment.js 這樣的日期庫(kù)來(lái)完成簡(jiǎn)單的任務(wù),這些任務(wù)不值得安裝整個(gè)包所帶來(lái)的大包大小。
當(dāng)我們想到 JavaScript 中的日期比較時(shí),我們會(huì)想到使用 Date 對(duì)象 ( Date()),當(dāng)然,它確實(shí)有效。
date 對(duì)象允許我們使用>, <, =, or>=比較運(yùn)算符進(jìn)行比較,但不能使用相等比較運(yùn)算符,如==, !=, ===, and !==(除非我們將日期方法附加到 date 對(duì)象)。
讓我們從學(xué)習(xí)如何僅使用日期對(duì)象執(zhí)行比較開(kāi)始,然后我們將了解如何使用日期對(duì)象和日期方法執(zhí)行相等比較。
如何在 JavaScript 中與日期對(duì)象進(jìn)行日期比較
假設(shè)我們想在 JavaScript 中比較兩個(gè)日期。我們可以通過(guò)這種方式輕松使用 Date 對(duì)象 ( 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");
}以上將返回兩個(gè)日期相同,因?yàn)槲覀儧](méi)有傳遞不同的日期:
"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)前兩個(gè)條件失敗時(shí),上面將相等作為最后一個(gè)選項(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)容,這是錯(cuò)誤的
"Not the same"
如何使用 JavaScript 進(jìn)行等式比較
為了處理相等比較,我們使用日期對(duì)象和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"
我們可以將不同的日期傳入到日期對(duì)象中進(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"
注意:通過(guò)該
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于javascript實(shí)現(xiàn)簡(jiǎn)單的抽獎(jiǎng)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于javascript實(shí)現(xiàn)簡(jiǎn)單的抽獎(jiǎng)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03
基于JavaScript+HTML編寫一個(gè)日期選擇插件
在現(xiàn)代Web應(yīng)用程序中,日期選擇器是一個(gè)非常常見(jiàn)的組件,用戶可以使用它來(lái)選擇特定的日期,在本篇文章中,我們將使用JavaScript和HTML來(lái)創(chuàng)建一個(gè)簡(jiǎn)單但功能強(qiáng)大的日期選擇插件,這個(gè)日期選擇插件是比較考驗(yàn)Js基本功的,需要的朋友可以參考下2023-10-10
JS實(shí)現(xiàn)一個(gè)秒表計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)一個(gè)秒表計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
基于JavaScript實(shí)現(xiàn)手機(jī)短信按鈕倒計(jì)時(shí)(超簡(jiǎn)單)
在淘寶等購(gòu)物網(wǎng)站,我們都會(huì)看到一個(gè)發(fā)送短信倒計(jì)時(shí)的按鈕,究竟是如何實(shí)現(xiàn)的呢?下面小編通過(guò)本篇文章給大家分享一段代碼關(guān)于js實(shí)現(xiàn)手機(jī)短信按鈕倒計(jì)時(shí),需要的朋友參考下2015-12-12
TypeScript 引用資源文件后提示找不到的異常處理技巧
這篇文章主要介紹了TypeScript 引用資源文件后提示找不到的異常處理,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
JavaScript代碼實(shí)現(xiàn)txt文件的上傳預(yù)覽功能
本篇文章給大家介紹了JavaScript代碼實(shí)現(xiàn)txt文件的上傳預(yù)覽功能,文字代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03

