PowerShell:
Datum in einen String umwandeln

So geht’s:

# Aktuelles Datum im Standardformat bekommen
$Heute = Get-Date
$HeuteString = $Heute.ToString()
Write-Output $HeiteString

# Spezifisches Format: YYYY-MM-DD
$HeuteStringFormatiert = $Heute.ToString("yyyy-MM-dd")
Write-Output $HeuteStringFormatiert

# Angepasstes Format: Tag.Monat.Jahr Stunde:Minute
$IndividuellesFormat = $Heute.ToString("dd.MM.yyyy HH:mm")
Write-Output $IndividuellesFormat

Sample Output:

Mittwoch, 2. Mai 2023 12:34:56
2023-05-02
02.05.2023 12:34

Deep Dive

Ursprünglich hatten Computer Mühe mit der Interpretation von Daten und Zeiten, da diese menschliche Konstrukte sind. Um eine universelle Handhabung zu gewährleisten, wurden Standardformate entwickelt. Das Formatieren von Datumswerten zu Strings ist besonders wichtig für die Internationalisierung, da unterschiedliche Kulturen Datumsangaben unterschiedlich darstellen.

PowerShell verwendet die .NET-Framework-Klasse DateTime für Datum- und Zeitoperationen. Mit der ToString()-Methode und Formatparametern können wir präzise steuern, wie das Datum als Text dargestellt wird. Es gibt auch die Möglichkeit, kultur-spezifische Formate mit der CultureInfo-Klasse zu verwenden.

Alternativ könnte man die Get-Date-Cmdlet’s -Format Parameter nutzen:

$FormatiertesDatum = Get-Date -Format "dd.MM.yyyy HH:mm"
Write-Output $FormatiertesDatum

Siehe Auch