Das „Date“-Objekt ermöglicht es Datumsangaben zu erstellen, zu bearbeiten und in einem bestimmten Format auszugeben. Eine vollständige Datumsangabe besteht dabei aus „Jahr“, „Monat“, „Tag“, „Stunde“, „Minute“, „Sekunde“ und „Millisekunde“. Eine Datumsangabe kann mit dem „Date“-Objekt auf vier verschiedene Arten erstellt weden:
HTML-Datei:
Ergebnis:
date11 =
date12 =
date13 =
date14 =
date15 =
date16 =
Hinweis: In JavaScript wird der Monat zwischen 0 und 11 angegeben, wobei 0 dem Januar und 11 dem Dezember entsprechen!
Wird eine Zeichenkette beim Erstellen eines „Date“-Objekts angegeben, können verschiedene Formate verwendet werden:
Format | Beschreibung | Formatierung | Beispiel |
ISO Date | Internationaler Standard | YYYY-MM-DD | "2017-10-20" |
Short Date | Kurze Form |
MM/DD/YYYY |
"10/20/2017" |
Long Date | Lange Form |
MMM DD YYYY |
"Oct 20 2017" |
Full Date | Komplette Form | "Friday October 20 2017" |
Das bekannteste und sicherste Format ist das ISO-Datum. Das ISO-Datum ist ein internationaler Standard, der von allen Browsern unterstütz und gleich interpretiert wird. Beim ISO-Date sind der Monat und der Tag optional. Zusätzlich kann auch die Uhrzeit angegeben werden, die mit dem Buchstaben „T“ an das Datum angehängt wird (YYYY-MM-DDTHH:MM:SS). Außerdem kann auch noch die Zeitzone angegeben werden. Mit „Z“ am Ende wird UTC (Universal Time Coordinated), d. h. die koordinierte Weltzeit, verwendet. Wird das „Z“ am Ende weggelassen, kann auch die Zeitzone relativ zur UTC-Zeit mit „+HH:MM“ oder „-HH:MM“ angegeben werden:
HTML-Datei:
Ergebnis:
date21 =
date22 =
date23 =
date24 =
date25 =
date26 =
Hinweis: Wird keine Zeitzone angegeben, wird für die Ausgabe immer die Zeitzone des Browsers verwendet!
Mit folgenden Methoden des „Date“-Objekts können Datumsangaben in verschiedenen Formaten ausgegeben werden:
HTML-Datei:
Ergebnis:
date3.toString() =
date3.toDateString() =
date3.toTimeString() =
date3.toLocaleString() =
date3.toLocaleDateString() =
date3.toLocaleTimeString() =
date3.toISOString() =
date3.toUTCString() =
date3.toJSON() =
date3.valueOf() =
Mit den Get-Methoden können einzelne Komponenten einer Datumsangabe ausgegeben werden:
HTML-Datei:
Ergebnis:
date4.toString() =
date4.valueOf() =
date4.getTime() =
date4.getFullYear() =
date4.getMonth() =
date4.getDay() =
date4.getDate() =
date4.getHours() =
date4.getMinutes() =
date4.getSeconds() =
date4.getMilliseconds() =
Mit den Set-Methoden können einzelne Komponenten einer Datumsangabe verändert werden:
HTML-Datei:
Ergebnis:
date5.toLocaleString() =
date5.setTime(1E12); =>
date5.setFullYear(2018); =>
date5.setMonth(1); =>
date5.setDate(1); =>
date5.setHours(11); =>
date5.setMinutes(11); =>
date5.setSeconds(11); =>
date5.setMilliseconds(11); =>
Mit den GetUTC-Methoden können einzelne Komponenten einer Datumsangabe im UTC-Format ausgegeben werden:
HTML-Datei:
Ergebnis:
date6.toUTCString() =
date6.getUTCFullYear() =
date6.getUTCMonth() =
date6.getUTCDay() =
date6.getUTCDate() =
date6.getUTCHours() =
date6.getUTCMinutes() =
date6.getUTCSeconds() =
date6.getUTCMilliseconds() =
Mit den SetUTC-Methoden können einzelne Komponenten einer Datumsangabe im UTC-Format verändert werden:
HTML-Datei:
Ergebnis:
date7.toUTCString() =
date7.setUTCFullYear(2018); =>
date7.setUTCMonth(1); =>
date7.setUTCDate(1); =>
date7.setUTCHours(11); =>
date7.setUTCMinutes(11); =>
date7.setUTCSeconds(11); =>
date7.setUTCMilliseconds(11); =>
Mit „getTimezoneOffset()“ kann die Differenz in Minuten zwischen dem UTC-Datum und der lokalen Zeitzone ausgegeben werden:
HTML-Datei:
Ergebnis:
date8.getTimezoneOffset() =
Mit den folgenden Funktionen können die Millisekunden seit dem 01.01.1970 bis zu einem bestimmten Datum angegeben werden. Diese Methoden funktionieren nur mit dem „Date“-Objekt selbst und nicht mit eigenen vom „Date“-Objekt abgeleiteten Objekten:
HTML-Datei:
Ergebnis:
Date.now() =
Date.parse(date9.toISOString()) =
Date.parse(date9.toUTCString()) =
Date.UTC(2017, 10, 22, 19, 20, 00) =
Mit den Vergleichsoperatoren „<“, und „>“ können Datumsangaben direkt miteinander verglichen werden. Soll geprüft werden, ob zwei Datumsangaben gleich sind, muss „getTime()“ verwendet werden:
HTML-Datei:
Ergebnis:
Booleam(date101 > date102) =
Booleam(date101 < date102) =
Boolean(date102 == date103) =
Boolean(date102.getTime() == date103.getTime()) =
Als Abschlussübung kannst du folgende Webseite erstellen, bei der zwei Datumsangaben erstellt, verändert und verglichen werden können:
Gehe dabei wie folgt vor:
Die Lösung kannst du dir hier herunterladen: