/ / Jeśli nowa data jest mniejsza niż data przechowywana w zmiennej - javascript, porównanie dat

Jeśli nowa data jest mniejsza niż data przechowywana w zmiennej - javascript, porównywanie dat

Zastanawiam się, jak mogę porównać datę z następującym kodem:

var today = new Date();

Generuje bieżący dzień tak:

Wed Feb 24 2016 12:02:34 GMT+0000 (GMT Standard Time)

Jeśli jednak mam zmienną zawierającą taki ciąg znaków:

var end = "Tue Mar 1 2016 00.00.00 GMT+0000 (GMT Standard Time)";

Nie jestem w stanie porównać tych dwóch zmiennych w instrukcji if przy użyciu operatora większego niż, ponieważ end zmienna jest ciągiem.

Zastanawiam się więc, jak mogę porównać ustawioną datę w zmiennej z moją zmienną dzisiaj?

Dzięki, Nick

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz użyć znak czasu daty zamiast reprezentacji ciągu.

var today = new Date();
console.log(today.getTime());

Jest to liczba całkowita i możesz porównać dwa z nich. Pamiętaj, że jest to znacznik czasu wyrażony w milisekundach, a nie sekund, jeśli chcesz porównać go ze znacznikami czasu z innych źródeł.

Uwaga: Istnieje również opcja analizy składniowej ciągu reprezentującego obiekt Time to Date, ale zależy to w dużej mierze od formatu, w jakim napisano ciąg (i ewentualnie klienta JS) i nie zawsze może działać. Polecam pracuj tylko z numerycznymi znacznikami czasu, jeśli planujesz porównywać czasy.


1 dla odpowiedzi nr 2

Możesz utworzyć nowy obiekt daty z zapisaną datą i porównać je.

var today = new Date();

//Edited date slightly to make it fit javascript date format
var end = new Date("Thu Mar 01 2001 00:00:00 GMT+0000 (GMT)");

Na przykład

if(today > end){
//do something
}