2527 Stimmen

JavaScript: Aktuelle Uhrzeit und Datum ermitteln

Tutorial von Stefan Trost | Letztes Update am 11.04.2024 | Erstellt am 04.10.2015

Heute möchte ich euch zeigen, wie ihr mit JavaScript das aktuelle Datum sowie die aktuelle Uhrzeit ermitteln und in euren Skripten verwenden könnt.

Wir benötigen für beides das Date-Objekt von JavaScript, das wir folgendermaßen erzeugen können:

var today = new Date();

Anschließend können wir alle benötigten Werte, um das aktuelle Datum und die aktuelle Zeit zu erhalten, auslesen um sie danach in unserem Skript weiter verarbeiten oder ausgeben zu können.

Aktuelles Datum ermitteln

Zunächst schauen wir uns an, wie wir das aktuelle Datum ermitteln können (zu der Zeit kommen wir im nächsten Abschnitt). Dazu erzeugen wir zuerst unser Date-Objekt und lesen anschließend das Jahr, den Monat sowie den Tag aus.

var today = new Date();
var d = today.getDate();
var m = today.getMonth() + 1;
var y = today.getFullYear();

var dmy = d + "." + m + "." + y;
alert(dmy);

Für das Auslesen der einzelnen Bestandteile verwenden wir die Methoden .getDate(), .getMonth() sowie .getFullYear():

  • Um den Tag zu erhalten verwenden wir die Methode .getDate(). Diese versorgt uns mit dem Tag des Monats als Zahl von 1 bis 31.
  • Um den Monat zu erhalten benutzen wir anschließend die Methode .getMonth(). Dieses Mal müssen wir noch 1 zu dem erhaltenen Wert hinzu addieren, da uns JavaScript den Monat als Zahl zwischen 0 und 11 ausgibt. Dies ist bei .getDate() nicht notwendig. Der Wert 0 entspricht dabei dem Januar, der Wert 1 dem Februar bis hin zur Zahl 11, die für den Dezember steht.
  • Zuletzt nutzen wir .getFullYear() um auch das Jahr für unser Datum zu erhalten. Es heißt .getFullYear(), da die Methode von der verwandten Methode .getYear() unterschieden wird. Mit .getFullYear() erhalten wir das Jahr als 4-stellige Zahl während .getYear() für Jahre zwischen 1900 und 1999 eine 2-stellige Zahl zurück gibt. Ab dem Jahr 2000 wird es bei .getYear() 3-stellig beginnend bei 100, vor 1900 gibt .getYear() negative Werte zurück. Aufgrund dieser Problematik (Stichwort Jahr 2000 Problem) wurde .getYear() inzwischen aus dem Webstandard entfernt und sollte nicht mehr verwendet werden. Aus diesem Grund sollten wir immer auf .getFullYear() zurückgreifen, da .getYear() möglicherweise irgendwann nicht mehr von den Browsern unterstützt wird.

Nachdem wir den aktuellen Tag, das aktuelle Datum sowie das aktuelle Jahr als Einzelwerte erhalten haben, kombinieren wir die einzelnen Bestandteile zu einem Datum im Format Tag.Monat.Jahr und geben dieses über einen alert()-Dialog aus.

Natürlich soll dieses Beispiel nur die grundlegende Funktion demonstrieren, in der Praxis können wir die Werte natürlich nach Belieben kombinieren, anderweitig verwenden oder statt alle auch nur einzelne Bestandtteile des Datums auslesen.

Aktuelle Zeit ermitteln

Auch die aktuelle Zeit lässt sich über das Date-Objekt herausbekommen. Wie das geht, zeigt das nächste Beispiel.

var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();

var t = h + ":" + m + ":" + s;
alert(t);

Analog zu den Methoden um die Bestandteile des Datums zu erhalten, verwenden wir diesmal die Methoden .getHours(), .getMinutes() und .getSeconds() um die aktuelle Stunde, Minute und Sekunde zu bekommen. Wir erhalten jeweils Werte von 0 bis 59 beziehungsweise von 0 bis 23.

Des weiteren stellt uns das Date-Objekt auch die Methode .getMilliseconds() zur Verfügung, falls wir auch die Millisekunden benötigen.

In unserem Beispiel nutzen wir die ausgelesenen Werte wieder zur Anzeige der aktuellen Uhrzeit über eine alert()-Message.

AntwortenPositivNegativDatumStimmen
1111 Stimmen

Wenn man nicht ganz so flexibel wie in den Beispielen sein muss, kann man vielleicht auch die Funktionen .toLocaleString() oder .toISOString() verwenden.

Hier sind zunächst einige Beispiele für die Verwendung von .toLocalString():

var date = new Date();

// 24.12.2023 10:00:00
var d1 = date.toLocaleString('de-DE');

// 12/24/2023, 10:00:00 PM
var d2 = date.toLocaleString('en-US');

// 24/12/2023 10:00:00
var d3 = date.toLocaleString('en-GB');

Je nachdem welchen Parameter man übergibt, erhält man die Zeit und das Datum in einer anderen Formatierung. Mit "en-US" beispielsweise im Format Monat/Tag/Jahr und mit AM und PM, mit "en-GB", "es-ES" oder "fr-FR" im Format Tag/Monat/Jahr oder mit "de-DE" im Format Tag.Monat.Jahr. Lässt man den Parameter weg, und ruft nur .toLocaleString() auf, wird die Formatierung des Systems oder Browsers angewendet.

var date = new Date();

// 2023-12-24T10:00:00.000Z
var d = date.toISOString();

Die Methode .toISOString() liefert dagegen immer das Format YYYY-MM-DDTHH:mm:ss.sssZ, welches immer 24 Zeichen lang ist und dem ISO-Format 8601 folgt.
Letztes Update am 11.04.2024 | Erstellt am 04.10.2015

AntwortenPositiv Negativ
55 Stimmen

HeyHey,

danke für diesen super Beitrag. Für mich als NewBie ist er perfekt.

Der Fehlerteufel hat sich in dem Beispielcode eingeschlichen.

>> var y und verwendet wird j

var y = today.getFullYear(); var dmy = d + "." + m + "." + j;
08.01.2021 um 09:32

AntwortenPositiv Negativ
99 Stimmen

Vielen Dank für den Hinweis. Ich habe die Stelle korrigiert.

Freut mich, wenn ich dir helfen konnte.
08.01.2021 um 14:41

Positiv Negativ
Antworten
Antworten

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

PHP: Kalenderwoche ermitteln

Tutorial | 2 Kommentare

Datum einer Datei ändern

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.