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
Please also mark the comments that contributed to the solution of the article
Content-ID: 631624
Url: https://administrator.de/contentid/631624
Printed on: October 10, 2024 at 04:10 o'clock
3 Comments
Latest comment
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....