PowerShell: Einlesen eines kulturunabhängigen Datum-Strings

Translate to English >>

Dieser kleine Artikel soll eine Möglichkeit aufzeigen, wie das korrekte Einlesen eines Strings als Datum in kulturunabhängiger Schreibweise durchgeführt werden kann. Erste Voraussetzung ist, dass der String bestimmte Daten beinhaltet. So muss der String mindestens eine gültige Dateninformation bzw. Werte aufweisen. Ein Beispiel ohne Uhrzeit in deutscher Schreibweise wäre:

01.08.2019

In deutscher Schreibweise (dd/MM/yyyy) ist das Datum also:

01. August 2019

Das System würde diesen String aufgrund des Standards (System-Culture) wie folgt einlesen:

Dienstag, 8. Januar 2019 00:00:00

Um diesen Fehler/Verdreher beim Einlesen des Strings und bei der Konvertierung zu einem „echten“ Datum zu verhindern kann folgende Zeile helfen.

Die direkte Ausgabe und Interpretation des Systems sieht dann wie folgt aus:

Donnerstag, 1. August 2019 00:00:00

Somit kann dieser Wert genutzt werden, um beispielsweise Vergleiche an bestimmten Daten durchzuführen. Da keine Uhrzeit im String zu finden war, wird diese automatisch auf 00:00:00 gesetzt.

Natürlich lässt sich über die Sinnhaftigkeit dieser Methode diskutieren ;-) und mit Sicherheit gibt es noch einige andere Wege um ein in internationaler Schreibweise formatiertes Datum korrekt einzulesen. Umso mehr freue ich mich über Kommentare mit alternativen Möglichkeiten.

Post a comment