Datum in Datei speichern und wieder auslesen
Moinsen,
ich spiele gerade ein wenig mit der Powershell und Zeitstempeln rum:
Zeitstempel mit Get-Date erstellen, als String in Datei speichern, wieder einlesen, in ein Datums-Objekt wandeln und weiterverarbeiten.
Dabei ist mir aufgefallen, dass sich die Shell ein wenig merkwürdig verhält, wenn es um die Verarbeitung von Datumsangaben geht.
Ich hätte gerne eine einfache Lösung, die unabhängig von der "Culture" des Systems arbeitet und möglichst auch bei älteren PowerShell Versionen funktioniert.
Ursprünglich hatte ich auf die "-- FileDateTime"-Funktion von Gate-Date gehofft, allerdings gibt's die erst ab PS 5.0.
Die einfachste Lösung auf die ich bis jetzt gekommen bin, ist:
Habt ihr einen Best Practice Tipp für mich?
ich spiele gerade ein wenig mit der Powershell und Zeitstempeln rum:
Zeitstempel mit Get-Date erstellen, als String in Datei speichern, wieder einlesen, in ein Datums-Objekt wandeln und weiterverarbeiten.
Dabei ist mir aufgefallen, dass sich die Shell ein wenig merkwürdig verhält, wenn es um die Verarbeitung von Datumsangaben geht.
Ich hätte gerne eine einfache Lösung, die unabhängig von der "Culture" des Systems arbeitet und möglichst auch bei älteren PowerShell Versionen funktioniert.
Ursprünglich hatte ich auf die "-- FileDateTime"-Funktion von Gate-Date gehofft, allerdings gibt's die erst ab PS 5.0.
Die einfachste Lösung auf die ich bis jetzt gekommen bin, ist:
[...]
$zeitstempel = Get-Date -Format g
Out-File "$Pfad\datei.txt" -InputObject $zeitstempel -NoNewline
$eingelesenerString = Get-Content "$Pfad\datei.txt"
$eingelesenerZeitstempel = Get-Date -Date ("$eingelesenerString")
[...]
Habt ihr einen Best Practice Tipp für mich?
Please also mark the comments that contributed to the solution of the article
Content-Key: 283667
Url: https://administrator.de/contentid/283667
Printed on: April 24, 2024 at 10:04 o'clock
3 Comments
Latest comment
Moin,
benutze den Formatspezifizierer "u" der ist "Culture-Independent" immer gleich,
https://msdn.microsoft.com/de-de/library/az4se3k1(v=vs.110).aspx
oder arbeite mit der Eigenschaft ticks des Date-Objects.
Gruß grexit
benutze den Formatspezifizierer "u" der ist "Culture-Independent" immer gleich,
https://msdn.microsoft.com/de-de/library/az4se3k1(v=vs.110).aspx
oder arbeite mit der Eigenschaft ticks des Date-Objects.
Gruß grexit
Ja, oder eben auch:
(get-Date).ToUniversalTime().toString("u") | out-file "$pfad\datei.txt"
$date = get-date (gc "$pfad\datei.txt")