Format Elapsed Time
Zuletzt geändert: 14.03.2026 05:56

Format-ElapsedTime #

ÜBERSICHT #

Formatiert eine Zeitspanne als lesbaren deutschen Text.

SYNTAX #

Format-ElapsedTime [-Duration] <TimeSpan> [-Start] <datetime> [[-Caption] <string>] [-Show]

BESCHREIBUNG #

Diese Funktion wandelt eine Zeitspanne in einen lesbaren String um, z. B. 2 Stunden 15 Minuten 30 Sekunden oder 500 Millisekunden.

Die Eingabe kann als [TimeSpan] direkt oder über einen Startzeitpunkt (-Start) erfolgen, wobei die Differenz zu Get-Date berechnet wird.

Mit dem Schalter -Show wird der formatierte Text zusätzlich per Write-Host auf der Konsole ausgegeben. Optional kann eine Beschriftung (-Caption) vorangestellt werden. Die Funktion gibt immer den formatierten String zurück.

Singular und Plural werden korrekt unterschieden (1 Stunde vs. 2 Stunden).

PARAMETER #

-Duration #

Type: TimeSpan

Die zu formatierende Zeitspanne als [TimeSpan].

-Start #

Type: datetime

Startzeitpunkt als [datetime]. Die Dauer wird als Differenz zu Get-Date berechnet.

-Caption #

Type: string

Optionale Beschriftung für die Konsolenausgabe mit -Show.

-Show #

Type: switch

Wenn gesetzt, wird die formatierte Zeit per Write-Host ausgegeben. Format: Verstrichene Zeit für <Caption>: <Dauer>

AUSGABEN #

[string] -- Die formatierte Zeitspanne als lesbarer Text.

BEISPIELE #

$ts = [TimeSpan]::FromSeconds(90)
Format-ElapsedTime -Duration $ts
# Gibt zurück: '1 Minute 30 Sekunden'
$t0 = Get-Date
Start-Sleep -Seconds 2
Format-ElapsedTime -Start $t0 -Caption 'Verarbeitung' -Show
# Gibt auf der Konsole aus: 'Verstrichene Zeit für Verarbeitung: 2 Sekunden'