# Time Converter — Manual

> Funktionsbeschreibung des Time Converter: die Tabs Current, Convert und Timeago, elf Ausgabeformate, Sprach- und Zeitzonen-Auswahl, Serveruhr-Endpunkt.

Source: https://www.jpkc.com/db/tools/time/manual/

Zurück zur Übersicht: [Time Converter](https://www.jpkc.com/db/tools/time/) · Tool live öffnen: [www.jpkc.com/tools/time/](https://www.jpkc.com/tools/time/)

Dieses Manual beschreibt den **Time Converter** vollständig: wie die drei Tabs aufgebaut sind, welche Formate die Ausgabe enthält, was jeder Knopf tut und wo die Grenzen der Zeitzonen-Auswahl liegen. Die Oberfläche des Tools ist auf Englisch — die Labels werden hier deshalb in ihrer englischen Original-Schreibweise genannt (mit deutscher Erläuterung), damit du dich im echten Interface zurechtfindest.

## Aufbau der Oberfläche

Der Time Converter ist eine Karte mit **drei Reitern** (Tabs) oben und zwei **globalen Einstellungen** im Fuß der Karte:

- **Current** — die Live-Uhr.
- **Convert** — die bidirektionale Umrechnung zwischen Datum/Zeit und Unix-Timestamp.
- **Timeago** — der Zeitdifferenz-Rechner.
- Im Karten-Fuß: **Language Format** (Sprachformat der Ausgabe) und **Timezone** (Anzeige-Zeitzone). Beide gelten **für alle drei Tabs**.

Jeder Tab hat ein dunkles Ausgabefeld (`pre`), das du bei Bedarf direkt bearbeiten kannst, und einen **Kopier-Knopf** mit Klemmbrett-Symbol, der den Inhalt in die Zwischenablage legt.

## Datengrundlage: Day.js und Sekunden

Die komplette Zeit-Logik läuft clientseitig über die Bibliothek **Day.js** (mit den Plugins UTC, Timezone, LocalizedFormat, RelativeTime und CustomParseFormat). Wichtig für das Verständnis aller Eingaben und Ausgaben:

- **Unix-Timestamps sind in Sekunden** gemeint, nicht in Millisekunden. Eine JavaScript-Millisekunden-Zeit (13-stellig) musst du also durch 1000 teilen, bevor du sie hier einträgst.
- Datum und Zeit werden intern im Format `YYYY-MM-DD HH:mm:ss` zusammengesetzt und geparst.

### Die elf Ausgabeformate

Sowohl der **Current**- als auch der **Convert**-Tab geben denselben Block aus **elf Zeilen** aus — derselbe Zeitpunkt, in elf Schreibweisen. Die lokalisierten Formate (Zeilen 4–11) richten sich nach der gewählten Sprache, die Uhrzeit nach der gewählten Zeitzone:

1. **Unix-Timestamp** (Sekunden), z. B. `1700000000`
2. **`YYYY-MM-DD HH:mm:ss Z`** mit Offset, z. B. `2023-11-14 23:13:20 +01:00`
3. **ISO 8601** (Day.js-Standard), z. B. `2023-11-14T23:13:20+01:00`
4. **`L`** — lokalisiertes Datum, z. B. `14.11.2023` (de) bzw. `11/14/2023` (en)
5. **`l`** — dasselbe in Kurzform
6. **`LL`** — Datum lang, z. B. `14. November 2023`
7. **`ll`** — Datum lang, kurz, z. B. `14. Nov. 2023`
8. **`LLL`** — Datum und Uhrzeit, z. B. `14. November 2023 23:13`
9. **`lll`** — dasselbe in Kurzform
10. **`LLLL`** — mit Wochentag, z. B. `Dienstag, 14. November 2023 23:13`
11. **`llll`** — mit Wochentag, kurz, z. B. `Di., 14. Nov. 2023 23:13`

## Der Tab „Current"

### Live-Uhr und Formate

Der **Current**-Tab zeigt die **aktuelle** Zeit und aktualisiert sie **jede Sekunde** (intern alle 1000 ms). Die elf Zeilen oben aktualisieren sich dabei laufend — du siehst also gleichzeitig den mitlaufenden Unix-Timestamp, die ISO-Form und alle lokalisierten Schreibweisen, jeweils in der eingestellten Zeitzone und Sprache.

### Start/Stop Timer

Der rote Knopf **Start/Stop Timer** hält die Live-Aktualisierung an bzw. setzt sie fort. Ist die Uhr angehalten, friert die Anzeige beim zuletzt gezeigten Zeitpunkt ein — praktisch, wenn du einen Wert in Ruhe kopieren willst, ohne dass er sich unter dem Mauszeiger weiterdreht. Beim erneuten Klick läuft die Uhr weiter. Beim Laden der Seite läuft der Timer bereits.

### Kopieren

Der Knopf neben dem Ausgabefeld legt den gesamten Block in die Zwischenablage.

## Der Tab „Convert"

Dieser Tab rechnet in **beide Richtungen** und füllt dasselbe elfzeilige Ausgabefeld (`Click "Convert" to convert a date/time…` als Startzustand).

### Datum/Zeit → Unix-Timestamp

Oben stellst du über Auswahlfelder ein Datum und eine Uhrzeit ein: **Year** (1970 bis 3000), **Month**, **Day**, **Hour** (0–23), **Minute** und **Second**. Vorbelegt sind sie mit der aktuellen Zeit. Ein Klick auf **Convert** (neben den Feldern) rechnet diesen Zeitpunkt in alle elf Formate um — inklusive des passenden Unix-Timestamps in Zeile 1.

### Unix-Timestamp → Datum/Zeit

Darunter trägst du in das Feld **Unix Timestamp** eine Sekunden-Zahl ein (vorbelegt mit dem aktuellen Timestamp). Der **Convert**-Knopf daneben löst die Umrechnung aus: Aus dem Timestamp werden dieselben elf Formate erzeugt, also die lesbaren Datums- und Zeitschreibweisen in der gewählten Zeitzone und Sprache.

### Get Server Time

Der Knopf **Get Server Time** holt den **aktuellen Unix-Timestamp der Serveruhr** und trägt ihn in das Feld **Unix Timestamp** ein. Dahinter steht ein kleiner Endpunkt (`/tools/time/time/`), der nichts weiter tut, als die Serverzeit als reinen Text zurückzugeben. Das ist nützlich, wenn die lokale Rechneruhr nicht verlässlich gestellt ist und du einen unabhängigen Referenzwert brauchst. Anschließend klickst du **Convert**, um diesen Server-Timestamp in lesbare Formate zu wandeln.

### Server-Endpunkte

Der Time Converter stellt zwei schlanke, öffentlich abrufbare Text-Endpunkte bereit, die jeweils mit `no-cache`-Headern antworten:

- **`/tools/time/time/`** — gibt den aktuellen Unix-Timestamp in **Sekunden** zurück (PHPs `time()`). Diesen Endpunkt nutzt der Knopf *Get Server Time*.
- **`/tools/time/mtime/`** — gibt die aktuelle **Microtime** zurück (PHPs `microtime()`, also Sekunden mit Bruchteilen). Dieser Endpunkt wird in der Oberfläche nicht verwendet, steht aber für eigene Skripte bereit.

## Der Tab „Timeago"

Dieser Tab berechnet **Zeitdifferenzen**. Es gibt zwei Eingabeblöcke und zwei Knöpfe.

### Start Date & Time und End Date & Time

Du füllst zwei Zeitpunkte aus: **Start Date & Time** und **End Date & Time**, jeweils mit Feldern für Jahr, Monat, Tag, Stunde, Minute und Sekunde (das Jahr ist ein freies Zahlenfeld, vorbelegt mit dem aktuellen Jahr).

### Calculate from Now

Der Knopf **Calculate from Now** vergleicht das **Start**-Datum mit dem **aktuellen** Zeitpunkt (*jetzt*). Die Ausgabe listet die Differenz getrennt nach Einheiten auf — **Years, Months, Day, Hours, Minutes, Seconds** —, wobei **jede Zeile den vollständigen Abstand in dieser einen Einheit** angibt (also „so viele Tage insgesamt", nicht „Tage zusätzlich zu den Monaten"). Darunter folgen zwei lesbare Gesamtangaben:

- eine **relative** Formulierung (`fromNow`), z. B. „in 3 days" oder „2 years ago", in der gewählten Sprache;
- eine **präzise Aufschlüsselung**, die den Abstand in eine einzige Kette aus Jahren, Monaten, Tagen, Stunden, Minuten und Sekunden zerlegt (z. B. `1 year 2 months 5 days …`).

### Calculate Start/End Range

Der Knopf **Calculate Start/End Range** vergleicht den **Start**- mit dem **End**-Zeitpunkt. Die Ausgabe ist wie oben nach Einheiten aufgeschlüsselt (jede Zeile als Gesamtabstand in dieser Einheit) und endet mit der **präzisen Aufschlüsselung**. Eine relative `fromNow`-Zeile gibt es hier nicht, weil kein Bezug auf *jetzt* besteht.

## Die globalen Einstellungen

### Language Format

Das Auswahlfeld **Language Format** im Karten-Fuß bestimmt, in welcher Sprache die lokalisierten Formate (`L`/`LL`/`LLL`/`LLLL` und ihre Kurzformen sowie die `fromNow`-Zeile) gerendert werden. Zur Wahl stehen **über 60 Sprachformate**, von Deutsch und Englisch (mit regionalen Varianten wie en-GB, en-US-nahem en, fr-CA) über Französisch, Spanisch, Italienisch, Russisch bis Japanisch, Koreanisch und Chinesisch. Voreingestellt ist **English**. Die Sprache ändert nur die *Formatierung* — der Zeitpunkt selbst bleibt derselbe.

### Timezone

Das Auswahlfeld **Timezone** bestimmt, in welcher Zeitzone die Datums- und Zeitangaben **angezeigt** werden. Die Liste ist **kuratiert**, nicht der vollständige IANA-Katalog:

- **Generic** — generische Zonen-Kürzel: `CET` (Vorgabe), `CST6CDT`, `EET`, `EST`, `EST5EDT`, `HST`, `MET`, `MST`, `MST7MDT`, `PST8PDT`, `WET`.
- **Etc** — feste Offsets `Etc/GMT` (= GMT) sowie `Etc/GMT+1` bis `Etc/GMT+12` und `Etc/GMT-1` bis `Etc/GMT-14`, dazu `Etc/UCT`.

Wichtig: Die `Etc/GMT`-Zonen folgen der **POSIX-Vorzeichen-Konvention** und sind damit gegenüber der üblichen UTC-Schreibweise **vorzeichenverkehrt** — `Etc/GMT+1` ist tatsächlich UTC**−**1, `Etc/GMT-1` ist UTC**+**1. Mehr dazu in den [Tipps & Tricks](https://www.jpkc.com/db/tools/time/tips/#die-etc-gmt-vorzeichen-sind-verkehrt-herum).

## Betriebsgrenzen und Datenschutz

- **Clientseitig:** Umrechnung, Vergleich und Formatierung laufen vollständig im Browser über Day.js. Deine eingegebenen Werte verlassen ihn nicht.
- **Einzige Server-Interaktion:** *Get Server Time* ruft `/tools/time/time/` ab und erhält nur eine Zahl zurück; es werden keine Nutzerdaten übertragen.
- **Sekunden, nicht Millisekunden:** Unix-Timestamps werden durchweg als Sekunden interpretiert.
- **Zeitzonen-Auswahl ist fix:** keine Städte-Zeitzonen (wie `Europe/Berlin`), keine automatische Browser-Zeitzone — nur die oben gelistete kuratierte Auswahl.
- **Jahresbereich:** Das Datums-Auswahlfeld deckt die Jahre **1970 bis 3000** ab.

Für den Einstieg und die Zielgruppen siehe die [Übersichtsseite](https://www.jpkc.com/db/tools/time/). Konkrete Durchläufe stehen in den [Beispielen](https://www.jpkc.com/db/tools/time/examples/), Strategie und Stolperfallen in den [Tipps & Tricks](https://www.jpkc.com/db/tools/time/tips/). Ausprobieren kannst du alles direkt im [Tool](https://www.jpkc.com/tools/time/).

