Datum (String) mit Get-Date vergleichen
Guten Morgen zusammen,
es wird ein Datum mit Uhrzeit in Script 1 erzeugt und irgendwann per Softwareverteilung an ein zweites Powershellscript übergeben werden, der String wieder als Datum umgewandelt und die Zeitdifferenz berechnet. Soweit die Theorie.
Datum aus Script 1 erzeugen:
Output: Montag 12.14.2020 08:03
Zeitdifferenz in Script 2 berechnen lassen:
Output: 0 23 50
Wenn ich das in der ISE ausführe, alles gut.
Wenn ich das per Softwareverteilung ausführe, meckert er, dass "Montag 12.14.2020 08:03" nicht als gültiges DateTime erkannt wurde.
Habe da vorne und hinten schon alles weggetrimmt, dass tatsächlich nur der String wie oben in $send drin steht.
Was übersehe ich hier?
Besten Dank und viele Grüße
es wird ein Datum mit Uhrzeit in Script 1 erzeugt und irgendwann per Softwareverteilung an ein zweites Powershellscript übergeben werden, der String wieder als Datum umgewandelt und die Zeitdifferenz berechnet. Soweit die Theorie.
Datum aus Script 1 erzeugen:
Get-Date -Format "dddd MM/dd/yyyy HH:mm"
Zeitdifferenz in Script 2 berechnen lassen:
[string]$send = "Montag 12.14.2020 08:03" <- Hier fügt die Softwareverteilung den String aus einer anderen Variable ein
[datetime]$send = [datetime]::ParseExact($send, "dddd MM/dd/yyyy HH:mm", $null)
$timedif = New-TimeSpan -Start $send -End (Get-Date)
Write-Host $timedif.Days $timedif.Hours $timedif.Minutes
Wenn ich das in der ISE ausführe, alles gut.
Wenn ich das per Softwareverteilung ausführe, meckert er, dass "Montag 12.14.2020 08:03" nicht als gültiges DateTime erkannt wurde.
Habe da vorne und hinten schon alles weggetrimmt, dass tatsächlich nur der String wie oben in $send drin steht.
Was übersehe ich hier?
Besten Dank und viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 631624
Url: https://administrator.de/forum/datum-string-mit-get-date-vergleichen-631624.html
Ausgedruckt am: 21.12.2024 um 12:12 Uhr
3 Kommentare
Neuester Kommentar
Das liegt in der Culture die du ja auf $null setzt aber im Datum einen deutschen Wochentag nutzt, wenn jetzt die Culture auf dem anderen System per Default auf Englisch steht kann er das nicht mehr parsen, wenn du also einen deutschen Datumsstring übergibst und du die richtige Culture im Parameter angibst dann geht auch das wieder
https://tio.run/##RYyxCoMwFAB3v@IRBFsQjbaDBDoWXITuwSGYVxtIYkmetP36NHTpjc ...
Ich würde das Datum ja im Universalformat nach ISO übergeben oder als Ticks oder eben gleich als Date Object dann entfällt das culture anpassen....
https://tio.run/##RYyxCoMwFAB3v@IRBFsQjbaDBDoWXITuwSGYVxtIYkmetP36NHTpjc ...
Ich würde das Datum ja im Universalformat nach ISO übergeben oder als Ticks oder eben gleich als Date Object dann entfällt das culture anpassen....