TypeScript - Date Object: A Beginner's Guide

Hallo da, zukünftiger Codingsuperstar! Heute begeben wir uns auf eine aufregende Reise in die Welt der Daten in TypeScript. Keine Sorge, wenn du noch nie eine Zeile Code geschrieben hast – ich werde dein freundlicher Guide sein, und wir gehen das Schritt für Schritt durch. Am Ende dieses Tutorials wirst du Daten wie ein Profi manipulieren können!

TypeScript - Date Object

Was ist ein Date-Objekt?

Bevor wir uns den Details widmen, lassen Sie uns darüber sprechen, was ein Date-Objekt eigentlich ist. In TypeScript (und JavaScript) repräsentiert ein Date-Objekt einen einzigen Zeitpunkt. Es ist wie ein Schnappschuss eines bestimmten Datums und einer bestimmten Uhrzeit, den wir dann in unseren Programmen manipulieren und verwenden können.

Denke daran als eine digitale Uhr, die du auf jede Zeit einstellen kannst, Vergangenheit, Gegenwart oder Zukunft. Cool, oder?

Syntax: Erstellen eines Date-Objekts

Nun schauen wir uns an, wie wir ein Date-Objekt in TypeScript erstellen können. Es gibt mehrere Möglichkeiten, und ich werde dir jede mit Beispielen zeigen.

1. Aktuelles Datum und Uhrzeit

Um ein Date-Objekt mit dem aktuellen Datum und der aktuellen Uhrzeit zu erstellen, verwendest du den new Date()-Konstruktor ohne Argumente.

let currentDate = new Date();
console.log(currentDate);

Wenn du diesen Code ausführst, wirst du etwas wie folgendes sehen:

2023-06-15T12:30:45.678Z

Das mag ein bisschen einschüchternd aussehen, aber keine Sorge! Es zeigt dir nur das aktuelle Datum und die aktuelle Uhrzeit in einem standardisierten Format.

2. Bestimmtes Datum und Uhrzeit

Du kannst auch ein Date-Objekt für ein bestimmtes Datum und eine bestimmte Uhrzeit erstellen. Es gibt mehrere Möglichkeiten, dies zu tun:

a. Verwendung eines Datumstrings

let christmas = new Date("December 25, 2023 00:00:00");
console.log(christmas);

Das gibt Folgendes aus:

2023-12-25T00:00:00.000Z

b. Verwendung separater Parameter

let newYear = new Date(2024, 0, 1, 0, 0, 0);
console.log(newYear);

Das gibt Folgendes aus:

2024-01-01T00:00:00.000Z

Beachte, dass der Monat für Januar 0 ist. In JavaScript und TypeScript sind Monate null-basiert, was bedeutet, dass Januar 0, Februar 1 und so weiter ist. Das ist ein Kuriosum, das viele Anfänger erwischt, also behalte es im Gedächtnis!

c. Verwendung von Millisekunden seit der Epoch

Du kannst auch ein Datum erstellen, indem du die Anzahl der Millisekunden seit dem 1. Januar 1970 (bekannt als die "Epoch") angibst:

let someDate = new Date(1687012345678);
console.log(someDate);

Das gibt ein Datum und eine Uhrzeit aus, die korrespondieren zu der Anzahl der Millisekunden nach der Epoch.

Arbeiten mit Date-Objekten

Nun, da wir wissen, wie wir Date-Objekte erstellen, schauen wir uns einige der Dinge an, die wir damit tun können.

Datumskomponenten abrufen

Date-Objekte haben mehrere Methoden, um verschiedene Komponenten des Datums abzurufen:

let today = new Date();

console.log("Vollständiges Jahr:", today.getFullYear());
console.log("Monat:", today.getMonth());
console.log("Datum:", today.getDate());
console.log("Tag:", today.getDay());
console.log("Stunden:", today.getHours());
console.log("Minuten:", today.getMinutes());
console.log("Sekunden:", today.getSeconds());

Das könnte eine Ausgabe wie diese liefern:

Vollständiges Jahr: 2023
Monat: 5
Datum: 15
Tag: 4
Stunden: 12
Minuten: 45
Sekunden: 30

Denke daran, getMonth() gibt einen null-basierten Monat zurück, sodass 5 Juni bedeutet!

Datumskomponenten setzen

genau wie wir Komponenten eines Datums abrufen können, können wir sie auch setzen:

let futureDate = new Date();

futureDate.setFullYear(2025);
futureDate.setMonth(11);  // Dezember
futureDate.setDate(31);
futureDate.setHours(23);
futureDate.setMinutes(59);
futureDate.setSeconds(59);

console.log(futureDate);

Das wird das Datum auf den 31. Dezember 2025 um 23:59:59 setzen.

Datum formatieren

TypeScript (und JavaScript) bieten einige integrierte Methoden zur Formatierung von Daten:

let event = new Date("July 4, 2023 12:00:00");

console.log(event.toDateString());
console.log(event.toTimeString());
console.log(event.toLocaleDateString());
console.log(event.toLocaleTimeString());
console.log(event.toISOString());

Das gibt Folgendes aus:

Di Jul 04 2023
12:00:00 GMT+0000 (Coordinated Universal Time)
7/4/2023
12:00:00 PM
2023-07-04T12:00:00.000Z

Datumarithmetik

Eine der coolsten Sachen an Date-Objekten ist, dass wir mit ihnen rechnen können! Schauen wir uns einige Beispiele an:

Tage hinzufügen

let today = new Date();
let nextWeek = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000);

console.log("Heute:", today);
console.log("Nächste Woche:", nextWeek);

Das fügt 7 Tage zum aktuellen Datum hinzu. Wir multiplizieren 7 (Tage) mit 24 (Stunden) mit 60 (Minuten) mit 60 (Sekunden) mit 1000 (Millisekunden), um die Anzahl der Millisekunden in einer Woche zu erhalten.

Daten subtrahieren

Wir können auch den Unterschied zwischen zwei Daten finden:

let start = new Date("March 1, 2023");
let end = new Date("June 15, 2023");

let difference = end.getTime() - start.getTime();
let days = Math.floor(difference / (24 * 60 * 60 * 1000));

console.log(`Es gibt ${days} Tage zwischen ${start.toDateString()} und ${end.toDateString()}`);

Das berechnet die Anzahl der Tage zwischen dem 1. März 2023 und dem 15. Juni 2023.

Schlussfolgerung

Glückwunsch! Du hast gerade deine ersten Schritte in die Welt der Date-Objekte in TypeScript unternommen. Wir haben das Erstellen von Daten, das Abrufen und Setzen von Datumskomponenten, das Formatieren von Daten und sogar die Durchführung von Datumarithmetik behandelt.

Denke daran, dass das Arbeiten mit Daten manchmal knifflig sein kann, insbesondere bei der Handhabung verschiedener Zeitzone oder Sommerzeit. Aber mit Übung wirst du zunehmend sicherer und geschickter.

Hier ist eine Tabelle, die die Hauptmethoden zusammenfasst, die wir behandelt haben:

Methode Beschreibung
new Date() Erstellt ein neues Date-Objekt
getFullYear() Gibt das Jahr (4 Stellen) zurück
getMonth() Gibt den Monat (0-11) zurück
getDate() Gibt den Tag des Monats (1-31) zurück
getDay() Gibt den Wochentag (0-6) zurück
getHours() Gibt die Stunde (0-23) zurück
getMinutes() Gibt die Minuten (0-59) zurück
getSeconds() Gibt die Sekunden (0-59) zurück
setFullYear() Setzt das Jahr
setMonth() Setzt den Monat
setDate() Setzt den Tag des Monats
setHours() Setzt die Stunde
setMinutes() Setzt die Minuten
setSeconds() Setzt die Sekunden
toDateString() Gibt den Datumsteil als menschenlesbaren String zurück
toTimeString() Gibt den Zeitteil als menschenlesbaren String zurück
toLocaleDateString() Gibt den Datumsteil unter Verwendung von Lokalkonventionen zurück
toLocaleTimeString() Gibt den Zeitteil unter Verwendung von Lokalkonventionen zurück
toISOString() Gibt das Datum im ISO-Format zurück

Weiter üben, weiter coden und vor allem: Spaß haben! Die Welt der Programmierung ist voller spannender Möglichkeiten, und das Beherrschen von Daten ist erst der Anfang. Viel Spaß beim Coden!

Credits: Image by storyset