Jak porównać dwie daty w JavaScript

Jak porównać dwie daty w JavaScript
Data to typ danych, który jest najczęściej używany przez programistów oprogramowania. Deweloperzy często spotykają się z datami. Możesz łatwo tworzyć, przechowywać lub przetwarzać dane dat za pośrednictwem JavaScript podczas opracowywania aplikacji. JavaScript ma wbudowany obiekt daty, który pozwala nam porównać dwie daty. W JavaScript istnieje kilka metod porównywania dat. Teraz omówimy każdą metodę jeden po drugim. Możesz łatwo porównać bieżącą datę z poprzednimi i przyszłymi datami.

Liczne pakiety zewnętrzne, takie jak moment.JS są zwykle używane przez programistów stron internetowych do obsługi operacji daty. Jednak po jego ewolucji JavaScript uruchomił nowy konstruktor instancji znany jako data obsługi operacji daty.

Tworzenie instancji daty

Po pierwsze, musisz utworzyć obiekt daty. DATA () Konstruktor służy do utworzenia obiektu daty. Zakładamy różne sposoby utworzenia daty.

Nowa data () // Obecna godzina i data zostaną zwrócone
Nowa data (MS)
Nowa data (StringDate)
Nowa data (Y, M, D, H, Min, Sec, MS)

Gdzie; SM= milisekund, y = rok, M = miesiąc, D = dzień, H = godzinę, min = minuty i Sec= sekundy. Tutaj parametr miesiąca zaczyna się od 0 do 11.

Porównanie daty w JavaScript

W tym artykule przedstawiamy różne sposoby kontrastowania dat w JavaScript.Najprostszą metodą porównywania dat w JavaScript jest użycie funkcji gettime ().

Porównaj datę w JavaScript za pośrednictwem funkcji gettime ()

Jeśli chcesz porównać datę z godziną w JavaScript, możesz użyć wbudowanej funkcji gettime (). Funkcja gettime () przekształca datę na wartość liczbową. Gdy wartości daty są przekonwertowane na wartości liczbowe, możesz łatwo porównać dwie daty. W tym przykładzie używamy operatorów logicznych, aby odpowiednio porównać dwie daty.

const instancedate1 = nowa data („2021-01-31”)
const instancedate2 = nowa data („2021-04-21”)
const instancedate3 = nowa data („2021-01-31”)
konsola.log (instancedate1.getTime ()> instancedate2.uzyskać czas())
konsola.log (instancedate1.uzyskać czas() < instancedate2.getTime())
konsola.log (instancedate1.getTime () === Instancedate3.uzyskać czas())
konsola.log (instancedate1.uzyskać czas() !== Instancedate3.uzyskać czas())

Wyjście

Porównaj datę w JavaScript z Valueof

Istnieje inny sposób porównywania daty w JavaScript za pomocą metody ValueOF. Zwróci milisekund na określony czas. Funkcja valueof () zwraca prawdziwą lub false, porównując dwie daty.

Przykład

const instancedate1 = nowa data („2021-01-31”)
const instancedate2 = nowa data („2021-04-21”)
const instancedate3 = nowa data („2021-01-31”)
konsola.log (instancedate1.valueof ()> instancedate2.wartość())
konsola.log (instancedate1.wartość() < instancedate2.valueOf())
konsola.log (instancedate1.valueof () === instancedate3.wartość())
konsola.log (instancedate1.wartość() !== Instancedate3.wartość())

Wyjście

Porównaj datę w JavaScript za pomocą funkcji getonth (), getDate () i getylysear ()

JavaScript nie ma funkcji, aby porównać datę bez bezpośredniego czasu. Jeśli chcesz wykonać tego rodzaju porównanie, musisz pobrać miesiąc, rok i datować z obiektów indywidualnie. Przykład jest zaciągnięty poniżej, aby kontrastować dwie daty za pomocą wbudowanych funkcji JavaScript.

funkcja_dateequal (instanceDate1, instanceDate2)
return instancedate1.gneLandear () === instancedate2.getylyear () &&
Instancedate1.getMonth () === instancedate2.getMonth () &&
Instancedate1.getDate () === instancedate2.getDate ()

const instancedate1 = nowa data („2020-02-31T09: 11: 12Z”)
const instancedate2 = nowa data („2020-04-21T12: 10: 34Z”)
const instancedate3 = nowa data („2020-02-31T03: 34: 23Z”)
konsola.log (funkcja_dateequal (instancedate1, instancedate3))
konsola.log (funkcja_dateequal (instanceDate1, instancedate2))

Wyjście

Porównaj datę w JavaScript za pomocą funkcji TODATESTRING ()

Istnieje inna metoda porównywania daty w JavaScript bez użycia czasu. Możesz użyć funkcji TODATESTRING () do porównania dat, pobierając tylko datę.

instancedate1 = nowa data (instancedate1.Todatestring ())
instancedate2 = nowa data (instancedate2.Todatestring ())
instancedate3 = nowa data (instancedate3.Todatestring ())
konsola.log (instancedate1.getTime ()> instancedate2.uzyskać czas())
konsola.log (instancedate1.uzyskać czas() < instancedate2.getTime())
konsola.log (instancedate1.getTime () === Instancedate3.uzyskać czas())

Wyjście

Porównaj datę w JavaScript według dat-fns

Nie powinniśmy polegać tylko na obiekcie daty JavaScript dla porównania daty. Zamiast używać wielu metod do porównywania daty, lepiej jest użyć mniejszej liczby linii kodu do opracowania skutecznego porównania dat w JavaScript bez rozważania czasu.

Data-FNS to biblioteka stron trzecich do manipulacji datą, a jej przykład wyjaśniono poniżej za pomocą różnych metod, aby potwierdzić, czy dwie daty są większe, mniejsze lub równe sobie nawzajem.

Pozwól instancedate1 = nowa data („2020-02-30T05: 11: 12Z”)
Pozwól instancedate2 = nowa data („2020-03-21T11: 10: 34Z”)
Pozwól instancedate3 = nowa data („2020-02-30T09: 11: 12Z”)
// czy instancja data 1 jest zapisywana po daty instancji2
konsola.log (datefns.ISAfter (instancedate2, instancedate1))
// czy instancja data 1 jest pisana przed datą instancji2
konsola.log (datefns.ISAfter (instancedate3, instancedate1))
// czy data instancji jest równa data instancji 2
konsola.log (datefns.Konsola ISEqual (Instancedate1, Instancedate3)).log (datefns.ISEqual (instancedate1, instancedate2))

Wyjście

Wniosek

Nauczyliśmy się wszystkiego o tym, jak porównać datę w JavaScript wraz z przykładem w tym artykule. Wyjaśniliśmy również kilka sposobów porównywania daty w JavaScript. W pierwszej metodzie porównujemy daty poprzez funkcję gettime (), a następnie badamy metodę porównywania dat za pośrednictwem funkcji valueOF (). Zbadaliśmy również kilka wbudowanych funkcji, takich jak getonth (), getDate () i getyllyear () do porównania daty w JavaScript. Na koniec omówiliśmy także inną funkcję Todatestring () w celu porównania dat w JavaScript. Wszystkie te metody zostały krótko wyjaśnione wraz z przykładami sposobu, w jaki funkcje daty można stosować w JavaScript w celu porównania bieżącej daty z poprzednimi i przyszłymi datami.