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-Key: 577025

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

Printed on: April 27, 2024 at 11:04 o'clock

Member: Fennek11
Solution Fennek11 Jun 05, 2020 at 07:22:16 (UTC)
Goto Top
Hallo,

versuche es einmal so:

[datetime]$Datum = [datetime]::ParseExact($Tag, 'ddd MMM dd HH:mm:ss yyyy', [cultureinfo]::InvariantCulture)  
   $Datum
Member: derhoeppi
derhoeppi Jun 05, 2020 at 07:26:48 (UTC)
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.
Mitglied: 144260
144260 Jun 05, 2020 updated at 08:26:57 (UTC)
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.