2791 Stimmen

Zwei Daten mit JavaScript vergleichen

Kann jemand einen Vorschlag machen, wie man die Werte von zwei Daten größer als, kleiner als, und nicht in der Vergangenheit mit JavaScript? Die Werte werden aus Textfeldern stammen.

20 Stimmen

Wenn es um DateTime und Manipulation in JS geht, suche ich nicht weiter als momentjs :)

101 Stimmen

Keine Notwendigkeit, Momentjs zu verwenden, um 2 Daten zu vergleichen. Verwenden Sie einfach reines Javascript's Date Objekt. Prüfen Sie die Hauptantwort für weitere Details.

0 Stimmen

Sie können die folgende Antwort lesen: stackoverflow.com/questions/4812152/ Prüfen Sie getDateDifference und getDifferenceInDays, ob es helfen kann.

-7voto

Sohail Shahzad Punkte 159

Verwendung von Momentjs für die Bearbeitung von Daten.

Um zu prüfen, ob ein Datum gleich oder später als ein anderes ist, verwenden Sie

isSameOrAfter() Methode

moment('2010-10-20').isSameOrAfter('2010-10-20') //true;

Um zu überprüfen, ob ein Datum nach einem anderen liegt, verwenden Sie isAfter() Methode

moment('2020-01-20').isAfter('2020-01-21'); // false
moment('2020-01-20').isAfter('2020-01-19'); // true

Um zu prüfen, ob ein Datum vor einem anderen liegt, verwenden Sie isBefore() Methode.

moment('2020-01-20').isBefore('2020-01-21'); // true
moment('2020-01-20').isBefore('2020-01-19'); // false

Um zu prüfen, ob ein Datum mit einem anderen übereinstimmt, verwenden Sie isSame() Methode

moment('2020-01-20').isSame('2020-01-21'); // false
moment('2020-01-20').isSame('2020-01-20'); // true

0 Stimmen

Hierfür sollten keine zusätzlichen JavaScript-Mods erforderlich sein.

-8voto

Pravesh Hajela Punkte 1

Datenvergleich:

var str1  = document.getElementById("Fromdate").value;
var str2  = document.getElementById("Todate").value;
var dt1   = parseInt(str1.substring(0,2),10); 
var mon1  = parseInt(str1.substring(3,5),10);
var yr1   = parseInt(str1.substring(6,10),10); 
var dt2   = parseInt(str2.substring(0,2),10); 
var mon2  = parseInt(str2.substring(3,5),10); 
var yr2   = parseInt(str2.substring(6,10),10); 
var date1 = new Date(yr1, mon1, dt1); 
var date2 = new Date(yr2, mon2, dt2); 

if(date2 < date1)
{
   alert("To date cannot be greater than from date");
   return false; 
} 
else 
{ 
   alert("Submitting ...");
   document.form1.submit(); 
}

3 Stimmen

Es gibt so viele Dinge, die nicht zu der Frage passen und (falsche) Annahmen machen: Auslesen einer (lokalisierten) Datumsdarstellung aus einem HTML-Element, Aufspalten dieser String-Darstellungen in die einzelnen Komponenten durch Verwendung einer sehr optimistischen Extraktionsmethode; Erstellen neuer Datumsangaben auf der Grundlage der Daten (die ungültig sein könnten); Nichtverwendung der Zeit; Fehlschlag, wenn Datum 2 vor Datum 1 liegt - aber Erfolg, wenn es gleich oder größer ist - ohne zu erwähnen, wie Datumsangaben tatsächlich verglichen werden können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X