derhoeppi
Goto Top

String nach DateTime convertieren

Guten Morgen,

ich lese mit dem Signtool von Microsoft eine Signatur aus, die mir den Zeitpunkt der Signierung ausgeben soll. Den entsprechenden Punkt habe ich nun als String selektiert. Dabei entsteht folgendes:
Thu Jun 04 12:14:41 2020

Nun möchte ich das ganze in ein Datumsformat wandeln, damit ich es Vergleichen und Rechnen kann. Dazu stelle ich mich zu doof an. Ich habe es mit Get-Date $string versucht und auch bei [datetime]::parseexact("Thu Jun 04 12:14:41 2020","%a %b %d %T %Y",$null) bin ich gescheitert.

Hat jemand von euch einen Tipp, wie man das in ein Datumsformat konvertieren kann?

Content-ID: 577025

Url: https://administrator.de/contentid/577025

Ausgedruckt am: 21.11.2024 um 16:11 Uhr

Fennek11
Lösung Fennek11 05.06.2020 um 09:22:16 Uhr
Goto Top
Hallo,

versuche es einmal so:

[datetime]$Datum = [datetime]::ParseExact($Tag, 'ddd MMM dd HH:mm:ss yyyy', [cultureinfo]::InvariantCulture)  
   $Datum
derhoeppi
derhoeppi 05.06.2020 um 09:26:48 Uhr
Goto Top
Vielen Dank es funktioniert. Kannst du mir noch kurz erläutern, weshalb es mit %a %b %d %T %Y nicht funktioniert hat. Die Platzhalter kann ich doch auch in der Formatierung von DateTime verwenden.
144260
144260 05.06.2020 aktualisiert um 10:26:57 Uhr
Goto Top
Zitat von @derhoeppi:

Vielen Dank es funktioniert. Kannst du mir noch kurz erläutern, weshalb es mit %a %b %d %T %Y nicht funktioniert hat.
Weil die ParseExact Methode eben die Format-Zeichenfolgen des .NET Frameworks voraussetzt
Standardformatzeichenfolgen für Datum und Uhrzeit
Immer dran denken Powershell und dessen Funktionen basiert auf dem .NET Framework und deren Objekten.
Die Platzhalter kann ich doch auch in der Formatierung von DateTime verwenden.
Weil Get-Date einen entsprechenden Parameter (-UFormat) mitbringt, deswegen dort ja ,aber die native Funktion oben unterstützt die Unix-Formatstrings eben nicht, dort müssen die Standardbezeichner des .NET Frameworks benutzt werden.