Hvordan sammenligne to datoer i JavaScript

Hvordan sammenligne to datoer i JavaScript
Datoen er en datatype som er mest brukt av programvareutviklere. Utviklere møter ofte arbeid med datoer. Du kan enkelt opprette, lagre eller behandle dato for dato gjennom JavaScript mens du utvikler applikasjoner. JavaScript har det innebygde objektet med dato som tillater oss sammenligningen mellom to datoer. I JavaScript er det flere metoder for å sammenligne datoer. Nå vil vi gå over hver metode en etter en. Du kan enkelt sammenligne gjeldende dato med de tidligere og fremtidige datoene.

Mange eksterne pakker som øyeblikk.JS brukes vanligvis av webutviklere for å håndtere dato-tidsoperasjoner. Imidlertid, etter utviklingen av det, lanserte JavaScript en ny forekomstkonstruktør kjent som dato for håndtering av dato-tidsoperasjoner.

Opprettelse av forekomst av dato

Først av alt må du opprette et objekt av dato. Dato () Konstruktør brukes til å opprette et objekt av dato. Vi verver de forskjellige måtene å instantisere en date.

Ny dato () // Nåværende tid og dato vil bli returnert
Ny dato (MS)
Ny dato (Stringdate)
Ny dato (Y, M, D, H, Min, Sec, MS)

Hvor; MS= millisekunder, y = år, m = måned, d = dag, h = time, min = minutter, og sek= sekunder. Her starter månedens parameter fra 0 til 11.

Dato sammenligning i JavaScript

I denne artikkelen presenterer vi forskjellige måter å kontrastdatoer i JavaScript.Den enkleste metoden for å sammenligne datoer i JavaScript er ved å bruke GetTime () -funksjonen.

Sammenlign dato i JavaScript gjennom GetTime () -funksjonen

Hvis du vil sammenligne datoen med tiden i JavaScript, kan du bruke den innebygde funksjonen GetTime (). GetTime () -funksjonen konverterer dato til numerisk verdi. Når dato for dato blir konvertert til numeriske verdier, kan du enkelt sammenligne to datoer. I dette eksemplet bruker vi logiske operatører for å sammenligne to datoer tilsvarende.

const Instancedate1 = Ny dato ("2021-01-31")
const Instancedate2 = Ny dato ("2021-04-21")
const Instancedate3 = Ny dato ("2021-01-31")
konsoll.Logg (Instansedate1.GetTime ()> Instansedate2.GetTime ())
konsoll.Logg (Instansedate1.GetTime () < instancedate2.getTime())
konsoll.Logg (Instansedate1.getTime () === Instansedate3.GetTime ())
konsoll.Logg (Instansedate1.GetTime () !== Instansedate3.GetTime ())

Produksjon

Sammenlign dato i JavaScript med verdi av

Det er en annen måte å sammenligne datoen i JavaScript ved å bruke verdien av metoden. Det vil returnere millisekunder for et bestemt tidsrom. ValueOf () -funksjonen returnerer enten sant eller usant mens du sammenligner to datoer.

Eksempel

const Instancedate1 = Ny dato ("2021-01-31")
const Instancedate2 = Ny dato ("2021-04-21")
const Instancedate3 = Ny dato ("2021-01-31")
konsoll.Logg (Instansedate1.ValueOf ()> Instansedate2.verdien av())
konsoll.Logg (Instansedate1.verdien av() < instancedate2.valueOf())
konsoll.Logg (Instansedate1.ValueOf () === Instansedate3.verdien av())
konsoll.Logg (Instansedate1.verdien av() !== Instansedate3.verdien av())

Produksjon

Sammenlign dato i Javascript ved bruk

JavaScript har ikke funksjonen til å sammenligne dato uten tid direkte. Hvis du vil gjøre denne typen sammenligning, må du hente måned, år og dato fra objektene individuelt. Et eksempel er vervet nedenfor for å kontrastere to datoer ved å bruke innebygde funksjoner av JavaScript.

funksjonsfunksjon_dateequal (Instansedate1, Instancedate2)
Returinstansert1.getulearear () === Instansedate2.getulearear () &&
Instansedat1.GetMonth () === Instansedate2.GetMonth () &&
Instansedat1.getDate () === Instansedate2.getDate ()

Const Instancedate1 = Ny dato ("2020-02-31T09: 11: 12Z")
Const Instancedate2 = Ny dato ("2020-04-21T12: 10: 34Z")
const Instancedate3 = Ny dato ("2020-02-31T03: 34: 23z")
konsoll.LOG (FUNKSJON_DATEEQUAL (INSTANCEDATE1, INSTANCEDATE3))
konsoll.logg (funksjon_dateequal (Instancedate1, Instancedate2))

Produksjon

Sammenlign dato i JavaScript ved bruk av TydateString () -funksjon

Det er en annen metode for å sammenligne dato i JavaScript uten å bruke tid. Du kan bruke TODATESTRING () -funksjonen for sammenligning av datoer ved å hente bare datoen.

Instansedate1 = Ny dato (Instansedate1.tidatestring ())
Instansedate2 = ny dato (Instansedate2.tidatestring ())
Instansedate3 = Ny dato (Instansedate3.tidatestring ())
konsoll.Logg (Instansedate1.GetTime ()> Instansedate2.GetTime ())
konsoll.Logg (Instansedate1.GetTime () < instancedate2.getTime())
konsoll.Logg (Instansedate1.getTime () === Instansedate3.GetTime ())

Produksjon

Sammenlign dato i JavaScript av date-fns

Vi skal ikke bare stole på JavaScripts dato -objekt for datoen. I stedet for å bruke flere metoder for grunnleggende dato -sammenligning, er det bedre å bruke færre kodelinjer for å utvikle en effektiv sammenligning av datoer i JavaScript uten å vurdere tid.

Dato-FNS er et tredjepartsbibliotek for manipulering av dato, og eksemplet blir forklart nedenfor ved å bruke forskjellige metoder for å bekrefte om de to datoene er større, mindre eller lik hverandre.

La Instancedate1 = Ny dato ("2020-02-30T05: 11: 12Z")
La Instancedate2 = Ny dato ("2020-03-21T11: 10: 34Z")
La Instancedate3 = Ny dato ("2020-02-30T09: 11: 12Z")
// er forekomstdato1 er skrevet etter forekomstdato2
konsoll.logg (datefns.Isafter (Instancedate2, Instancedate1))
// er forekomstdato1 er skrevet før forekomstdato2
konsoll.logg (datefns.Isafter (Instancedate3, Instancedate1))
// er forekomstdato1 er lik forekomstdato2
konsoll.logg (datefns.Isequal (Instancedate1, Instancedate3)) konsoll.logg (datefns.Isequal (Instancedate1, Instancedate2))

Produksjon

Konklusjon

Vi lærte alt om hvordan vi kan sammenligne dato i JavaScript sammen med et eksempel i denne artikkelen. Vi forklarte også flere måter å sammenligne dato i JavaScript. I den første metoden sammenligner vi datoer gjennom funksjonen til GetTime (), så utforsker vi en metode for å sammenligne datoer gjennom verdien av () -funksjonen. Vi har også utforsket flere innebygde funksjoner som GetMonth (), GetDate () og Getuløst () for sammenligning av dato i JavaScript. Til slutt diskuterte vi også en annen funksjon til å bli tildelt () for å sammenligne datoer i JavaScript. Alle disse metodene er kort forklart sammen med eksempler på hvordan datofunksjoner kan brukes i JavaScript for å sammenligne gjeldende dato med de forrige og fremtidige datoene.