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'