The Date object
In JavaScript können wir Datum und Zeit aus dem Date Objekt herauslesen:
const date = new Date();console.log(date);
// Ergebnis:Date Tue Dec 23 2025 08:34:515 GMT+0100 (Mitteleuropäische Normalzeit)Die Konsole gibt uns folgende Informationen:
- den Wochentag (Tue)
- das heutige Datum (Dec 23 2025)
- die aktuelle Uhrzeit (08:34:515)
- und den Offset der Zeitzone (GMT+0100 (Mitteleuropäische Normalzeit))
Getting a formatted date
Section titled “Getting a formatted date”JavaScript verfügt über einige Methoden, mit denen das Date Objekt als String ausgegebenn werden kann:
console.log(date.toString());Tue Dec 23 2025 08:34:15 GMT+0100 (Mitteleuropäische Normalzeit)
console.log(date.toDateString());Tue Dec 23 2025
console.log(date.toLocaleString());23.12.2025, 08:34:15
console.log(date.toLocaleDateString());23.12.2025
console.log(date.toGMTString());Tue, 23 Dec 2025 07:34:15 GMT
console.log(date.toUTCString());Tue, 23 Dec 2025 07:34:15 GMT
console.log(date.toISOString());2025-12-23T07:34:15.247ZDate methods
Section titled “Date methods”Meistens wollen wir aber ein anderes Format, z.B. Dienstag, 23.12.2025. Zum Glück gibt es weitere Methoden, mit denen ein Datum formatiert werden kann. Die folgenden Methoden beziehen sich alle auf die lokale Zeit:
getFullYear: gibt eine vierstellige Jahreszahl ausgetMonth: gibt den Monat aus, und zwar als Zahl zwischen 0 und 11.getMonthist zero-indexed, daher ist Jänner = 0 und Dezember = 11.getDate: gibt den Tag aus, und zwar als Zahl zwischen 1 und 31.getDay: gibt den Wochentag aus, und zwar als Zahl zwischen 0 und 6. Der Wochentag beginnt mit Sonntag (0) und endet mit Samstag (6)!
Creating a custom format
Section titled “Creating a custom format”Aus diesen Methoden wollen wir nun ein eigenes Format zusammenstellen. Um den Monat und den Wochentag als lesbaren String auszugeben, brauchen wir zusätzlich ein Array, da die Methoden getDay() und getMonth() nur einen Index liefern:
const today = new Date(); // neues Date-Objektconst day = today.getDate(); // Tag (1., 2,. ... 31.)const weekdayIndex = today.getDay(); // Wochentag (0, 1, ... 6)const monthIndex = today.getMonth(); // Monat (0, 1, ... 11)const year = today.getFullYear(); // Jahr (2025)const weekdays = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];const monthsOfTheYear = ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];const weekday = weekdays[weekdayIndex];const month = monthsOfTheYear[monthIndex];console.log(`Heute ist ${weekday}, der ${day}. ${month} ${year}.`);// Heute ist Dienstag, der 23. Dezember 2025.What if you want Jan instead of January?
Section titled “What if you want Jan instead of January?”Um beliebige Ausgaben erstellen zu können, müssen wir für die Wochentage und die Monate mehr Wahlmöglichkeiten anbieten. Der Index wird hier nicht mehr als eigene Konstante gespeichert. Wir wenden die Methode direkt in der bracket notation an.
const today = new Date();const day = today.getDate();const year = today.getFullYear();const weekdays = [ { long: 'Sonntag', short: 'So' }, { long: 'Montag', short: 'Mo'}, { long: 'Dienstag', short: 'Di'}, { long: 'Mittwoch', short: 'Mi'}, { long: 'Donnerstag', short: 'Do'}, { long: 'Freitag', short: 'Fr'}, { long: 'Samstag', short: 'Sa'},];const monthsOfTheYear = [ { long: 'Jänner', short: 'Jän'}, { long: 'Februar', short: 'Feb'}, { long: 'März', short: 'Mär'}, { long: 'April', short: 'Apr'}, { long: 'Mai', short: 'Mai'}, { long: 'Juni', short: 'Jun'}, { long: 'Juli', short: 'Jul'}, { long: 'August', short: 'Aug'}, { long: 'September', short: 'Sep'}, { long: 'Oktober', short: 'Okt'}, { long: 'November', short: 'Nov'}, { long: 'Dezember', short: 'Dez'},];const weekday = weekdays[today.getDay()].long;const month = monthsOfTheYear[today.getMonth()].long;console.log(`Heute ist ${weekday}, der ${day}. ${month} ${year}.`);// Heute ist Dienstag, der 23. Dezember 2025.Creating a day suffix
Section titled “Creating a day suffix”Falls ein Datum auf englisch ausgegeben werden muss, brauchen wir zusätzlich ein Suffix, z.B. December 23rd 2025. Diese speichern wir als Objekt. Würden wir einen Array machen, müssten wir immer nachdenken, welcher Index zu welchem Suffix gehört. Mit einem Objekt entspricht der numerische key immer dem Tag:
const dateSuffix = { 1: 'st', 2: 'nd', 3: 'rd', 4: 'th', ... 23: 'rd', ...}const today = new Date();const day = today.getDate();const daySuffix = dateSuffix[day];console.log(`${day}${daySuffix}`); // 23rd