Vergleichen von Datum / Uhrzeit in Javascript?
Gegeben
var fromDatetime = "10/21/2014 08:00:00";
var toDatetime = "10/21/2014 07:59:59";
Ziel
Vergleichen müssen dieses zwei angegebenen datetime-Wert zu überprüfen, ob dies ein Gültiger datetime-Eingänge.
Im denken, ich könnte über diese Lösung. .
var fromDatetime = new date("10/21/2014 08:00:00");
var toDatetime = new date("10/21/2014 07:59:59");
dann vergleichen Sie jedes segment
fromDatetime.getFullYear() , toDatetime.getFullYear(),
fromDatetime.getMonth() , toDatetime.getMonth(),
so weiter so Fort, bis ich mir eine nicht-gleich-Vergleich, dann zurück.
Meine Frage ist. . Ist, dass der beste Fall, im Vergleich von datetime in Javascript?
Irgendwelche Lösungsvorschläge außer diesen sehr geschätzt wird. .
Vielen Dank im Voraus.
Mögliche Duplikate? Vergleichen Sie Daten mit JavaScript stackoverflow.com/questions/492994/...
Ich muss wissen, wenn die Daten unterschiedlich sind, zur gleichen Zeit, im besten Fall, dies zu tun. . Über die Zeitzonen hinweg, ist dies nicht erforderlich, aber können nur sagen, die Angaben sind auf die gleiche Zeitzone festlegen.
InformationsquelleAutor Sata | 2014-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nur brauchen zu wissen, ob ein Datum vor oder nach einem anderen, können Sie mit den normalen Vergleichsoperatoren:
(Beachten Sie, dass Date-Objekte zu instanziieren, es ist
new Date(myDateString)
, nichtnew date()
wie in deinem Beispiel.)Dies funktioniert, da die Date-Objekte gezwungen werden, um die zugrunde liegende Epoche Werten, das sind nur zahlen repräsentieren die Anzahl der Millisekunden, die vergangen sind, seit Jan 1, 1970 GMT. (Relationalen Vergleich verwendet das Ergebnis der Operanden
@@toPrimitive
odervalueOf()
- Funktionen, sofern verfügbar.) Als Ergebnis, werden diese sensiblen millisekundengenau, die möglicherweise oder möglicherweise nicht gewünscht. Sie können die Granularität des Vergleichs, indem Sie entweder sicher, dass der Eingang enthält nur die Werte bis zu der Stunde/minute/whatever ODER durch schrittweise Vergleiche wie du beschrieben hast in deiner Frage.Für fortgeschrittene Datum Vergleichsoperationen, ich empfehle mit einer Bibliothek, wie Moment.js,, weil nativ gibt es nicht viel, mit zu arbeiten. Für Beispiel Moment bietet Methoden, wie
die sehr hilfreich sein können, wenn Sie brauchen, um Vergleiche nur auf einer bestimmten Ebene der Spezifität. Aber keiner der datetime-Bibliotheken sind furchtbar leicht, so nutzen Sie nur, wenn Sie entweder tun, serverside code oder Sie erwarten, sich auf Sie zu verlassen ausgiebig. Wenn Sie brauchst dazu nur ein Vergleich, es wird klüger sein, zu Rollen Sie Ihre eigene Lösung.
InformationsquelleAutor Semicolon