Skip to content

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))

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.247Z

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 aus
  • getMonth: gibt den Monat aus, und zwar als Zahl zwischen 0 und 11. getMonth ist 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)!

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-Objekt
const 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.

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.

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