Format-ElapsedTime

EulandaXtools — Funktionsreferenz

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 : `

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'