> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baenninger.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Datum und Zeit

JavaScript macht es uns leicht Daten zu erstellen, da es kein bestimmtes Format gibt. So ist z.B. folgendes möglich:

```javascript theme={null}
const now = new Date();
console.log(now);

console.log(new Date('Aug 19 2021 18:05:41'));
console.log(new Date('December 24, 2015'));
console.log(new Date('2021-08-19T18:05:41'));
```

Alle diese obigen Kombinationen sind möglich, jedoch sollte man sich nicht darauf verlassen, das alles funktioniert. Die letzte Variante ist wohlmöglich die Beste, da es der Standard für das Datumsformat in Computersystem ist.

Für noch mehr Möglichkeiten siehe: [MDN `Date()`-Konstruktor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)

### Methoden﻿

Ein Datum ist in JavaScript ebenfalls ein Objekt, welches verschiedenste Methoden hat.

#### `get`-Methoden﻿

Auf einem Datumsobjekt gibt es verschiedenste `get`-Methoden, welche uns einen bestimmten Teil des Objektes zurückgeben:

```javascript theme={null}
console.log(future.getFullYear());
console.log(future.getMonth());
console.log(future.getDate());
console.log(future.getDay());
console.log(future.getHours());
console.log(future.getMinutes());
console.log(future.getSeconds());
console.log(future.getTime());
```

#### `set`-Methoden﻿

Mit den `set`-Methoden können wir bestimmte Teile des Datums verändern:

```javascript theme={null}
future.setFullYear(2040);
future.setMonth(6);
future.setDate(12);
future.setHours(13);
future.setMinutes(15);
future.setSeconds(20);

console.log(future);
```

#### `toString`-Methoden﻿

Es gibt noch weitere Methoden, welche uns unser Datumsobjekt in einen String umwandeln, den wir dann bspw. einer API senden können:

```javascript theme={null}
console.log(future.toISOString());
console.log(future.toString());
console.log(future.toDateString());
console.log(future.toTimeString());
console.log(future.toLocaleString());
console.log(future.toLocaleDateString());
console.log(future.toLocaleTimeString());
console.log(future.toUTCString());
```

Die Methode `toISOString()` ist besonders nützlich, wenn wir mit APIs arbeiten, die das Datum im UTC-Format verlangen.

<Info>
  Die Methode `toLocaleString()` ist abhängig vom Standort des Nutzers: Darstellung des Datums und Zeitzone. Dabei kann man als Argument noch das Gebiet angeben. Die volle Übersicht findest du hier: [W3Schools JS Reference (Dates)](https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_tolocalestring_date_all)
</Info>
