2016-11-24 1 views
0

ich einen Web-App in mvc-5 AngularJS erschaffe,Show Warnung, wenn Monate/Jahre in zwei Strings sind verschiedene

ich brauche vom Benutzer eingegebenen Daten aus folgendem Datum zeigen (in Textbox (ich habe zwei Textbox)), aber der Benutzer kann nur die Daten von 1 Monat holen, wenn ich Daten sehen möchte, die ich eintragen kann (01-01-2016) zu (31-01-2016) oder (29-01-2016) zu (31-01-2016)

ia Benutzer geben das Datum wie (31-01-2016) bis (03-02-2016) ein, dann wird der Alarm mit dem Fehler angezeigt oder wenn er das Datum wie (01 -01-2016) bis (31-01-2017), dann sollte auch der Alarm erscheinen, mein Webservice wird die Daten in folgenden Strings validieren (frmdate and dateto)

was muss ich hier tun?

+0

Verwenden Sie getmonth(), getyear() und versuchen Sie, beide zu vergleichen, und zeigen Sie dann Ihre Warnungen basierend auf dem Ergebnis an –

Antwort

0

Was Sie tun müssen, ist, den Unterschied zwischen dem Von-Datum und Bis-Datum zu finden und zu prüfen, ob der Unterschied 30 Tage oder 31 Tage ist, abhängig von Ihrer Logik.

Speichern Sie diese Datumsstrings als Date-Objekte.

var fromDate = new Date($scope.fromDate); 
 
var endDate = new Date($scope.toDate);

Um ein Date-Objekt in jeder Art von Berechnung zu verwenden, müssen wir zuerst das Datum der internen Wert in Millisekunden abrufen, die als eine große ganze Zahl gespeichert ist, da Sie nicht können hinzufügen oder ziehen Sie Datumsobjekte zusammen.

// Convert both dates to milliseconds 
 
    var fromDate_ms = fromDate.getTime(); 
 
    var endDate_ms = endDate.getTime();

Dann Berechnen Sie die Differenz in Millisekunden

var difference_ms = endDate_ms - fromDate_ms; 

Um die Anzahl der Tage für eine bestimmte Anzahl von Millisekunden zu erhalten, würden wir von 86.400.000 teilen, um die Anzahl der Millisekunden in ein Tag (1000 × 60 Sekunden × 60 Minuten × 24 Stunden):

var differene_days = Math.round(difference_ms/86400000); 

Wenn differene_days ist gleich 30 oder 31 zeigen Sie den Bericht sonst Fehlermeldung anzeigen.

Verwandte Themen