Generieren eines Arrays von Datumsangaben innerhalb eines bestimmten Bereichs in JavaScript
In JavaScript müssen Sie möglicherweise ein Array von Datumsangaben dazwischen erstellen zwei festgelegte Termine. Dies kann eine herausfordernde Aufgabe sein, insbesondere wenn es um Monats- und Jahresgrenzen geht.
Um dieses Problem zu beheben, untersuchen wir eine Lösung mit dem Datumsobjekt von JavaScript.
Benutzerdefinierte Erweiterung zum Hinzufügen von Tagen zu einem Datum
Zunächst erweitern wir den Date-Prototyp um eine addDays()-Methode. Diese Methode addiert die Anzahl der Tage zum Datum und gibt ein neues Datumsobjekt zurück, das das angepasste Datum widerspiegelt.
Date.prototype.addDays = function(days) { var date = new Date(this.valueOf()); date.setDate(date.getDate() + days); return date; }
Funktion zum Abrufen eines Arrays von Daten
Als nächstes definieren wir eine Funktion namens getDates(), die zwei Date-Objekte als Parameter akzeptiert: ein startDate und ein stopDate.
function getDates(startDate, stopDate) { var dateArray = new Array(); var currentDate = startDate; while (currentDate <= stopDate) { dateArray.push(new Date (currentDate)); currentDate = currentDate.addDays(1); } return dateArray; }
Implementierung
Dies Die Funktion initialisiert ein leeres Array namens dateArray. Es beginnt dann mit dem Startdatum und bewegt sich mit der Methode addDays() um einen Tag vorwärts, bis es das Stoppdatum erreicht oder überschreitet. Für jedes gültige Datum wird dem dateArray ein neues Date-Objekt hinzugefügt.
Der folgende Code demonstriert die Verwendung dieser Funktionen:
var range = getDates(new Date(), new Date().addDays(7));
Dieser Code erstellt ein Array von Date-Objekten, die das darstellen Tage zwischen heute und 7 Tagen ab heute, einschließlich heute. Die Bereichsvariable enthält ein Array von Datumsobjekten.
Demo
Sie können diese Lösung unter http://jsfiddle.net/jfhartsock/cM3ZU/ ausprobieren eine funktionale Demo.
Das obige ist der detaillierte Inhalt vonWie erstelle ich in JavaScript ein Array von Datumsangaben innerhalb eines bestimmten Bereichs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!