Читать книгу PowerShell 7 und Windows PowerShell - Tobias Weltner - Страница 134
Datum und Zeit
ОглавлениеPowerShell kennt bei der Codeeingabe nur Zahlen und Text, aber keine besondere Kennzeichnung für Datum oder Zeit. Dennoch sind Datums- und Zeitangaben natürlich bei vielen Befehlen wichtig.
PowerShell muss Datum und Zeit also immer über den Umweg der Umwandlung aus Text herstellen, und das bietet Raum für viele Missverständnisse, die mit Ländereinstellungen und folkloristischen Datumsformaten der verschiedensten Nationen dieser Welt zu tun haben.
Was bei automatischen Umwandlungen alles schiefgehen kann, zeigt dieses Beispiel, das aus derselben Textinformation zwei völlig unterschiedliche Daten generiert:
PS> [DateTime]'1.12.2021'
Dienstag, 12. Januar 2021 00:00:00
PS> '1.12.2021' -as [DateTime]
Mittwoch, 1. Dezember 2021 00:00:00
Umso wichtiger ist es also, Datum und Zeit immer in einem Textformat anzugeben, das weltweit und bei jeder Betriebssystemsprache eindeutig und richtig umgewandelt wird. Wo immer künftig in PowerShell Datums- oder Zeitangaben benötigt werden, geben Sie diese Information deshalb im sogenannten ISO-Format an, denn dieses Format funktioniert in allen Sprachen der Welt auf dieselbe Weise:
yyyy-MM-dd HH:mm:ss
jahr-monat-tag stunde(24h):minute:sekunde
Die Beispiele zeigen, dass dieses ISO-Format in allen erdenklichen Szenarien und mit den unterschiedlichsten Spracheinstellungen immer dasselbe Ergebnis liefern:
PS> Get-Date -Date '2021-12-01 18:30:00'
Mittwoch, 1. Dezember 2021 18:30:00
PS> [DateTime]'2021-12-01 18:30:00'
Mittwoch, 1. Dezember 2021 18:30:00
PS> '2021-12-01 18:30:00' -as [DateTime]
Mittwoch, 1. Dezember 2021 18:30:00