Dauer vermenschlichen
Geben Sie eine Dauer in Sekunden ein und erhalten Sie einen Text, den man auf einen Blick versteht: 183840 Sekunden ergeben „2 days 3 hours 4 minutes“, also 2 Tage, 3 Stunden und 4 Minuten. Einheiten mit null fallen weg, der Satz ist englisch. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Länge der Dauer in Sekunden
- 183.840
- Eingabe-Sekunden
- 183.840
- Tage
- 2
- Stunden
- 3
- Minuten
- 4
Ein Formatierer für vermenschlichte Dauer beantwortet eine praktische Frage, die in Protokollen, Dashboards und Produkttexten auftaucht: Wenn eine Zeitspanne als rohe Sekundenzahl vorliegt, was soll ein Mensch lesen? Geben Sie eine nicht negative Dauer in Sekunden ein, und dieses Werkzeug liefert eine kompakte Phrase aus ganzen Tagen, Stunden, Minuten und Sekunden — zum Beispiel werden einhundertdreiundachtzigtausendachthundertvierzig Sekunden zu zwei Tagen, drei Stunden und vier Minuten. Support-Ingenieure, die Incident-Fenster erklären, Entwickler, die erwartete Zeichenketten für Unit-Tests schreiben, Lehrkräfte, die Übungen zur verstrichenen Zeit bewerten, und Produktteams, die leere Zustände polieren, brauchen dieselbe deterministische Formulierung ohne eine schwere i18n-Bibliothek.
Was das Vermenschlichen einer Dauer bedeutet und welche Einheiten erscheinen
Eine Dauer ist eine Zeitspanne, kein Kalenderzeitstempel. Wenn Systeme verstrichene Zeit speichern, nutzen sie fast immer eine nicht negative Sekundenzahl, weil diese Einheit leicht zu addieren, zu subtrahieren und zu serialisieren ist. Menschen hingegen tun sich schwer, große Sekundenzahlen auf einen Blick zu parsen: neunzig Sekunden sind offensichtlich eineinhalb Minuten, aber einhundertdreiundachtzigtausendachthundertvierzig Sekunden sind nicht offensichtlich zwei Tage und ein paar Stunden.
Vermenschlichen heißt, diese Summe in die vertraute Leiter ganzer Tage zu sechsundachtzigtausendvierhundert Sekunden, Stunden zu dreitausendsechshundert Sekunden, Minuten zu sechzig Sekunden und Restsekunden zu zerlegen. Zwischen-Einheiten mit Wert null werden weggelassen, damit die Phrase kurz bleibt — ein Tag fünf Minuten statt ein Tag null Stunden fünf Minuten —, während eine rein nullwertige Eingabe weiterhin null Sekunden ausgibt, damit Aufrufer nie eine leere Zeichenkette erhalten. Singular- und Pluralbezeichnungen folgen gewöhnlicher Grammatik: eine Stunde versus zwei Stunden, eine Minute versus zwei Minuten.
Praktische Tipps, Grenzen und verwandte Suchen
Senden Sie bevorzugt Zahlen statt vorformatierter Zeichenketten, wenn Sie den Client steuern; Zahlen-Strings werden nur akzeptiert, wenn sie einem strengen endlichen Zahlenmuster entsprechen. Halten Sie Dauern innerhalb des veröffentlichten Maximums, damit große Multiplikationen nie nicht-endlich werden. Beim Lehren oder Testen behalten Sie einen kleinen bekannten Satz: einen Multi-Einheiten-Erfolgsfall wie zwei Tage drei Stunden vier Minuten, eine kurze Mischung wie eine Minute dreißig Sekunden, einen Null-Sekunden-Fall, eine gebrochene Eingabe mit sauberem floor und einen absichtlichen negativen Fehler.
Round-Trip-Prüfungen sind einfach: berechnen Sie days mal sechsundachtzigtausendvierhundert plus hours mal dreitausendsechshundert plus minutes mal sechzig plus Sekunden und bestätigen Sie, dass die Summe dem veröffentlichten ganzen Sekundenfeld entspricht. Diese Landing zielt auf Personen, die nach einem Formatierer für vermenschlichte Dauer, Sekunden zu Tagen Stunden Minuten oder lesbarer verstrichener Zeit online suchen; es ist kein Kalenderdatums-Formatierer, kein Zeitzonen-Konverter, kein Uptime-Monitor und kein Prosa-Weichzeichner.
Bevorzugen Sie diese Fähigkeit, wenn Sie bereits eine Sekundenzahl haben und nur eine stabile Phrase brauchen; wenn Sie Monatsnamen oder Wochentagsbezeichnungen aus einem Kalenderdatum brauchen, nutzen Sie eine Datumsformatierungs- oder Wochentags-Fähigkeit. Dokumentieren Sie die floor-Regel in Client-Kommentaren, damit Produkttexter wissen, dass eine halbe Sekunde in diesem Werkzeug nie auf eine volle Sekunde aufgerundet wird.
Anwendungsfälle
Texte zur verstrichenen Zeit bei Incidents und SLA
Statusseiten und Postmortems wandeln rohe Sekundenzähler in Phrasen wie zwei Stunden fünfzehn Minuten um, die Nicht-Ingenieure ohne Kopfrechnen lesen können.
Erwartete Strings für Timer-Unit-Tests
Engineering-Teams fixieren vermenschlichte Labels für Countdowns, Job-Laufzeiten und Medienlängen, damit UI-Snapshots browserübergreifend deterministisch bleiben.
Schulische Übungen zur verstrichenen Zeit
Lernende senden eine Sekundensumme und prüfen die gedruckte Tag-Stunde-Minute-Sekunde-Zerlegung gegen ein deterministisches Ergebnis vor der Abgabe.
Häufige Fragen
Was passiert bei einer negativen Dauer?
Negative Längen werden abgelehnt statt absolutiert oder verschönert.
Welche Einheiten erscheinen in der lesbaren Zeichenkette?
Ganze Tage, Stunden, Minuten und Sekunden. Null-Zwischen-Einheiten entfallen; eine reine Null-Dauer erscheint als «0 seconds».
Formatiert dies Kalenderdaten oder Zeitstempel?
Nein. Es vermenschlicht nur die Länge einer reinen Dauer. Nutzen Sie Datumsformatierungs- oder Wochentags-Werkzeuge bei einem Kalenderdatum.
Kann ich Sekunden mit Nachkommastellen eingeben?
Ja. Bruchteile werden angenommen und vor der Aufteilung auf ganze Sekunden abgerundet. So kann eine winzige Ungenauigkeit in den Nachkommastellen den Satz nicht an einer Einheitengrenze kippen lassen.
Wie kann ich prüfen, ob der Satz stimmt?
Multiplizieren Sie die Tage mit 86400, die Stunden mit 3600 und die Minuten mit 60 und addieren Sie die Sekunden. Die Summe muss den eingegebenen ganzen Sekunden entsprechen, bei 2 days 3 hours 4 minutes also 183840.
Warum fehlt manchmal eine Einheit im Satz?
Einheiten mit dem Wert null werden weggelassen, damit der Satz kurz bleibt: Es heißt one day five minutes statt one day zero hours five minutes. Nur bei insgesamt null Sekunden erscheint 0 seconds, damit nie ein leerer Text entsteht.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/date/humanize-duration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"seconds":183840}'const res = await fetch("https://api.kit.forhosting.com/date/humanize-duration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"seconds": 183840
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/humanize-duration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"seconds": 183840
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/humanize-duration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"seconds":183840}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"seconds":183840}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/humanize-duration", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"seconds": 183840
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.humanize_duration",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_seconds | 1000000000000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Null ist erlaubt und wird als null Sekunden ausgegeben; negative Werte werden mit einem klaren invalid_input-Fehler abgelehnt statt eines irreführenden Absolutwerts.
Was das Vermenschlichen einer Dauer bedeutet und welche Einheiten erscheinen
Negative Längen liegen außerhalb der Produktabsicht: ein rückwärts laufender Elapsed-Timer ist ein Datenfehler, keine Phrase zum Verschönern, daher schlägt die Validierung mit invalid_input fehl und benennt das Feld seconds.
Wie Sie die API aufrufen und was zurückkommt
Gebrochene Eingaben werden akzeptiert und vor der Einheitsteilung auf ganze Sekunden abgerundet (floor), sodass Gleitkommarauschen keine nahe Grenze kippen kann. Wenn Sie Ergebnisse in Tests prüfen, vergleichen Sie vorzugsweise das Feld human (oder text) und die numerische Zerlegung statt Labels von Hand zu rekonstruieren, denn Singular- und Pluralformen sind Teil des veröffentlichten Vertrags. Senden Sie einen JSON-Körper mit einer erforderlichen endlichen Zahl namens seconds, die auch unter den Aliasen duration, value, secs oder s geliefert werden darf. Absolute Werte müssen innerhalb des veröffentlichten Maximums von einer Billion Sekunden bleiben, damit Zwischenprodukte auf dem Worker und im Browser endlich bleiben. Bei Erfolg spiegelt die Antwort seconds als abgerundete ganze Summe wider, optional input_seconds wenn der Rohwert abwich, days, hours, minutes und secs als nicht negative Ganzzahlen, die sich zur Summe rekomponieren, human und text als dieselbe lesbare Phrase, message als kurzen Zusammenfassungssatz und steps als geordnetes Array, das floor und Zerlegung beschreibt. Fehlgeschlagene Validierung — fehlendes Feld, nicht endliche Zahlen, Werte über dem Maximum oder jede negative Dauer — liefert invalid_input und wird nie berechnet. Der Preis ist ein pauschales $0.002 pro erfolgreicher Anfrage mit Einheit item und marginalem Preis null.
Praktische Tipps, Grenzen und verwandte Suchen
Fehlgeschlagene Aufgaben mit invalid_input verbrauchen kein Prepaid-Guthaben, was explorative Skripte günstig hält, wenn Lernende absichtlich negative Werte senden.
Technische Fragen
Welche Eingabe akzeptiert der Formatierer für vermenschlichte Dauer?
Eine nicht negative endliche Anzahl Sekunden (Feld seconds, oder Aliase duration, value, secs, s). Gebrochene Werte werden auf ganze Sekunden abgerundet.
Ist der Formatierer für vermenschlichte Dauer kostenlos?
Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen Prepaid-KIT-Guthaben zu $0.002 pro erfolgreicher Anfrage; fehlgeschlagene Aufgaben werden nie berechnet.