Homepage-Webhilfe Event-Banner

Datumsangaben

Ein Datum kann in JavaScript mittels des Objekts Date dargestellt werden. Um auf die Bestandteile eines Datums zuzugreifen, gibt es einige Funktionen, welche wir weiter unten vorstellen. Des Weiteren gibt es auch Funktionen die es ermöglichen, das Datum im Nachhinein zu verändern. Um ein Datum zu initialisieren (also zu erstellen), stellen wir Ihnen 4 verschiedene Varianten vor. Für alle Varianten ist es notwendig, ein Date-Objekt mittels des Konstruktors zu erstellen. Zur Erinnerung: Hierfür notieren wir das Schlüsselwort new gefolgt von dem Objektnamen (also Date) und einem runden Klammernpaar. Innerhalb der Klammern werden die Funktions-Parameter (Konstruktur-Parameter) übergeben.

Bei der ersten Variante geben wir der Funktion kein Parameter mit. Dadurch erhält das erstellte Datum das aktuelle Datum mit aktueller Uhrzeit.

var datum = new Date();

Die zweite Möglichkeit ist, der Funktion einen nummerischen Wert zu übergeben. Dieser nummerische Wert muss den sogenannten UNIX-Zeitstempel als Millisekundenwert wiederspiegeln. Der UNIX-Zeitstempel ist ein nummerischer Wert, welcher die Sekunden seit dem 01.01.1970 um Mitternacht bis zum gewünschten Zeitpunkt darstellt.

var datum = new Date(1451602800000);               // Entspricht 01.01.2016 00:00:00

Eine weitere Variante ist, dem Konstruktur die Einzelteile des Datums und Uhrzeit zu übergeben. Dabei muss die Reihenfolge Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde eingehalten werden. Bitte beachten Sie, dass die Monats-Angabe nullbasierend ist, d. h. Monat 0 entspricht Januar (1), Monat 1 entspricht Februar (2), ... und Monat 11 entspricht Dezember (12).

var datum = new Date(2016, 1, 1, 3, 4, 5, 678);    // Entspricht 01.02.2016 03:04:05,678

Die letzte Variante ist die Angabe einer Zeichenkette. Hier muss das Datum (evtl. mit Uhrzeit) in einem bestimmten Format übergeben werden. Leider kann es hier zu Problemen bei einigen Browsern kommen, da nicht alle Formate von jedem Browser unterstützt werden. Die Verwendung des ISO-8601 Formats gilt als sicher und sollte von allen Browsern umgesetzt werden können.

var datum = new Date("2016-02-01");                // Entspricht 01.02.2016 00:00:00

Wie bereits oben erwähnt, gibt es einige Funktionen, um die Bestandteile eines Datums und einer Uhrzeit auszulesen. Dabei gibt es Funktionen, mit welchen das UTC-Datum bzw. die UTC-Zeit und das Lokaldatum bzw. die Lokalzeit ausgegeben werden kann. Wird im Konstruktor ein Millisekundenwert übergeben, so wird zu diesem zusätzlich die Zeitdifferenz für die Lokalzeit mit eingerechnet. Bei der Angabe der einzelnen Datums- und Uhrzeit-Bestandteile wird exakt die notierte Angabe als Lokalzeit interpretiert. Bei Angabe der Zeichenkette wird diese als UTC-Zeit interpretiert, sofern nicht im String etwas anderes explizit angegeben ist.

Lokalzeit getDay() Gibt den Wochentag zurück (0 = Sonntag, 1 = Montag, ..., 6 = Samstag).
getDate() Gibt den Tag des Monats zurück (1 - 31).
getMonth() Gibt den Monat zurück (0 = Januar, 1 = Februar, ..., 11 = Dezember).
getFullYear() Gibt das Jahr zurück.
getHours() Gibt die Stunden zurück (0 - 23).
getMinutes() Gibt die Minuten zurück (0 - 59).
getSeconds() Gibt die Sekunden zurück (0 - 59).
getMilliseconds() Gibt die Millisekunden zurück (0 - 999).
UTC-Zeit getUTCDay() Gibt den Wochentag zurück (0 = Sonntag, 1 = Montag, ..., 6 = Samstag).
getUTCDate() Gibt den Tag des Monats zurück (1 - 31).
getUTCMonth() Gibt den Monat zurück (0 = Januar, 1 = Februar, ..., 11 = Dezember).
getUTCFullYear() Gibt das Jahr zurück.
getUTCHours() Gibt die Stunden zurück (0 - 23).
getUTCMinutes() Gibt die Minuten zurück (0 - 59).
getUTCSeconds() Gibt die Sekunden zurück (0 - 59).
getUTCMilliseconds() Gibt die Millisekunden zurück (0 - 999).

Hier folgendes Beispiel zur Ausgabe einiger Datumsbestandteile:

var datum = new Date();

document.write("Datum: " + datum.getDate() + "<br />");
document.write("Monat: " + (datum.getMonth() + 1) + "<br />");
document.write("Jahr: " + datum.getFullYear() + "<br />");
Vorschau

Passend zu den Funktionen zum Auslesen der Datumsbestandteile gibt es auch Funktionen zum Setzen der Datumsbestandteile. Auch hier gibt es wieder Funktionen für die UTC-Zeit und Lokalzeit.

Lokalzeit setDate() Setzt den Tag des Monats (1 - 31).
setMonth() Setzt den Monat (0 = Januar, 1 = Februar, ..., 11 = Dezember).
setFullYear() Setzt das Jahr.
setHours() Setzt die Stunden (0 - 23).
setMinutes() Setzt die Minuten (0 - 59).
setSeconds() Setzt die Sekunden (0 - 59).
setMilliseconds() Setzt die Millisekunden (0 - 999).
UTC-Zeit setUTCDate() Setzt den Tag des Monats (1 - 31).
setUTCMonth() Setzt den Monat (0 = Januar, 1 = Februar, ..., 11 = Dezember).
setUTCFullYear() Setzt das Jahr.
setUTCHours() Setzt die Stunden (0 - 23).
setUTCMinutes() Setzt die Minuten (0 - 59).
setUTCSeconds() Setzt die Sekunden (0 - 59).
setUTCMilliseconds() Setzt die Millisekunden (0 - 999).
var datum = new Date();

datum.setDate(29);
datum.setMonth(0);

document.write("Datum: " + datum.getDate() + "<br />");
document.write("Monat: " + (datum.getMonth() + 1) + "<br />");
document.write("Jahr: " + datum.getFullYear() + "<br />");
Vorschau

Übrigens: Mit Hilfe der Funktion getTimezoneOffset() ist es möglich, die Zeitdifferenz zwischen UTC-Zeit und Lokalzeit zu ermitteln. Die Funktion gibt einen Minutenwert zurück. In Deutschland gibt die Funktion -60 (bei Winterzeit) oder -120 (bei Sommerzeit) zurück.


Es gibt einige vorgefertigte Funktionen, um das Datum und die Uhrzeit auszugeben. Dabei geben alle Funktionen bis auf toUTCString() und toISOString() die Lokalzeit zurück. Die folgende Tabelle zeigt alle verfügbaren Funktionen zur formatierten Ausgabe:

toLocaleDateString() Gibt das Datum zurück (lokale Darstellung).
toDateString() Gibt das Datum zurück.
toLocaleTimeString() Gibt die Uhrzeit zurück (lokale Darstellung).
toTimeString() Gibt die Uhrzeit zurück.
toLocaleString() Gibt das Datum und die Uhrzeit zurück (lokale Darstellung).
toString() Gibt das Datum und die Uhrzeit zurück.
toUTCString() Gibt das Datum und die Uhrzeit mit UTC-Zeit zurück.
toISOString() Gibt das Datum und die Uhrzeit im ISO-Format zurück.

Immer wieder kann es passieren, dass Sie das Datum und die Uhrzeit anders formatieren wollen. Eine solche Formatierungsfunktion müssen wir uns jedoch selbst schreiben. So ist es, im Gegensatz zu Sprachen wie C (Funktion strftime()), nicht möglich, eine Funktion mit sogenannten Kürzeln aufzurufen. Mit Hilfe der Funktionen getX() ist es jedoch möglich, unsere Ausgabe zusammenzubauen. Hierzu folgendes Beispiel:

var datum = new Date();

document.write("Datum: " + datum.getDate() + "." + (datum.getMonth() + 1) + "." + datum.getFullYear());
document.write("<br />");
document.write("Uhrzeit: " + datum.getHours() + ":" + datum.getMinutes() + ":" + datum.getSeconds());
Vorschau

Wie Ihnen sicherlich auffallen wird, sind beim obigen Beispiel keine führenden Nullen sichtbar. Eine Funktion um Zahlen mit führenden Nullen aufzufüllen, gibt es in JavaScript ebenfalls nicht, d. h. wir müssen uns eine solche Funktion ebenfalls selber schreiben. Da wir bisher noch nicht besprochen haben, wie man eigene Funktionen definiert, haben wir das „Problem“ mit den führenden Nullen mit einzeiligen if-Bedingungen direkt bei der Ausgabe gelöst.

var datum = new Date();

document.write("Datum: " + 
   (datum.getDate() >= 10 ? datum.getDate() : ("0" + datum.getDate())) + "." + 
   ((datum.getMonth() + 1) >= 10 ? (datum.getMonth() + 1) : ("0" + (datum.getMonth() + 1))) + "." +
   datum.getFullYear());
document.write("<br />");
document.write("Uhrzeit: " + 
   (datum.getHours() >= 10 ? datum.getHours() : ("0" + datum.getHours())) + ":" + 
   (datum.getMinutes() >= 10 ? datum.getMinutes() : ("0" + datum.getMinutes())) + ":" + 
   (datum.getSeconds() >= 10 ? datum.getSeconds() : ("0" + datum.getSeconds())));
Vorschau

Wichtig: Um die Funktionsweise des Date-Objekts besser kennenzulernen, empfiehlt es sich mit Hilfe von kleineren „Test-Programmen“ die Funktionen sowie Ein- und Ausgaben des Date-Objekts auszuprobieren.

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK