Arbeiten mit Datum und Uhrzeit in JavaScript: Vollständiger Leitfaden für Node.js

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten
```html

Arbeiten mit Datum und Zeit in JavaScript (Node.js): Von den Grundlagen bis zu fortgeschrittenen Techniken



Das Arbeiten mit Datum und Zeit gehört zu den häufigsten Aufgaben in der Webentwicklung. Ob Ereignisprotokollierung, Verarbeitung von Benutzerdaten, Aufgabenplanung oder Anzeige von Zeitstempeln – ohne die Fähigkeit, Daten in JavaScript zu verwalten, kommt man nicht aus. In diesem Artikel behandeln wir alle wichtigen Aspekte der Arbeit mit Daten in der Node.js-Umgebung: von der Erstellung und Formatierung bis hin zu komplexen Manipulationen mit Zeitzonen und der Verwendung beliebter Bibliotheken.



Grundlagen: Das Date-Objekt in JavaScript



Das eingebaute Date-Objekt ist die Grundlage für die Arbeit mit Daten. Es speichert die Anzahl der Millisekunden, die seit dem 1. Januar 1970 (Unix-Epoche) vergangen sind.



Erstellen eines Datums



Es gibt mehrere Möglichkeiten, eine Date-Instanz zu erstellen:



// Aktuelles Datum und Uhrzeitconst now = new Date();console.log(now); // 2025-03-15T10:30:00.000Z

// Aus Millisekunden (Unix-Timestamp)const fromTimestamp = new Date(1742025000000);console.log(fromTimestamp); // 2025-03-15T10:30:00.000Z

// Aus einem String (ISO 8601)const fromString = new Date('2025-03-15T10:30:00');console.log(fromString);

// Aus Komponenten (Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde)const fromComponents = new Date(2025, 2, 15, 10, 30, 0, 0); // Monate: 0-11console.log(fromComponents); // March 15, 2025 10:30:00


Wichtig: Monate werden in JavaScript von 0 an gezählt (Januar = 0, Dezember = 11).



Abrufen von Datumskomponenten



Methoden zum Extrahieren einzelner Datumsteile:



const date = new Date('2025-03-15T10:30:45.123Z');

console.log(date.getFullYear()); // 2025console.log(date.getMonth()); // 2 (März)console.log(date.getDate()); // 15console.log(date.getDay()); // 6 (Samstag, 0 = Sonntag)console.log(date.getHours()); // 10console.log(date.getMinutes()); // 30console.log(date.getSeconds()); // 45console.log(date.getMilliseconds());// 123console.log(date.getTime()); // Millisekunden seit der Epoche


Datumsformatierung in Node.js



Das Standard-Date-Objekt bietet begrenzte Formatierungsmöglichkeiten. Für eine lesbare Ausgabe verwenden Sie toLocaleDateString() und toLocaleString().



const date = new Date('2025-03-15T10:30:00');

// Lokalisierte Formatierungconsole.log(date.toLocaleDateString('de-DE')); // 15.03.2025console.log(date.toLocaleTimeString('de-DE')); // 10:30:00console.log(date.toLocaleString('de-DE')); // 15.03.2025, 10:30:00

// Mit Optionenconst options = { year: 'numeric', month: 'long', day: 'numeric', weekday: 'long', hour: '2-digit', minute: '2-digit'};console.log(date.toLocaleString('de-DE', options)); // Samstag, 15. März 2025, 10:30


Benutzerdefinierte Formatierung



Für die vollständige Kontrolle schreiben Sie eine einfache Funktion:



function formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {  const map = {    YYYY: date.getFullYear(),    MM: String(date.getMonth() + 1).padStart(2, '0'),    DD: String(date.getDate()).padStart(2, '0'),    HH: String(date.getHours()).padStart(2, '0'),    mm: String(date.getMinutes()).padStart(2, '0'),    ss: String(date.getSeconds()).padStart(2, '0'),  };  return format.replace(/YYYY|MM|DD|HH|mm|ss/g, match => map[match]);}

console.log(formatDate(new Date(), 'DD.MM.YYYY')); // 15.03.2025console.log(formatDate(new Date(), 'HH:mm:ss')); // 10:30:00


Manipulation von Daten: Hinzufügen, Subtrahieren, Vergleichen



Daten können direkt über die set*-Methoden oder durch Arbeiten mit Millisekunden geändert werden.



Zeit hinzufügen und subtrahieren



const date = new Date('2025-03-15T10:30:00');

// 5 Tage hinzufügendate.setDate(date.getDate() + 5);console.log(date); // 2025-03-20T10:30:00

// 2 Stunden hinzufügen ```

Blogs

Buchempfehlungen