2016-12-20 2 views
1

Ich habe eine Liste von Ereignissen mit Datum Uhrzeit im String-Format '2016/2/9 02:03:01'. Ich benutze:Wie konvertiere ich die Zeichenfolge '2016/2/9' in datetime?

$d1 = [datetime]::ParseExact('2015/12/19 08:15:32', 'yyyy/MM/dd HH:mm:ss', $null) 

Es Formatfehler bekam:

以 "3" 引數呼叫 "ParseExact" 時發生例外狀況: "字串未被辨認為有效的 DateTime。" 
位於 J:\Qsync\WORKSPACE\SHELL\trypsl101.ps1:310 字元:5 
+  $d1 = [datetime]::ParseExact('2016/2/9 02:03:01', 'yyyy/MM/dd HH:mm:ss', 
$nu ... 
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
~~~ 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : FormatException 

Wie kann ich Datum Zeichenfolge mit unterschiedlichen einstelligen Länge analysieren?

Antwort

6

Siehe Custom Date and Time Format Strings.

MM ist speziell ein zweistelliger Monat und dd ist ein zweistelliger Tag (02, 09, respectively).

Verwenden Sie M für einen Monat, der mit 1 oder 2 Ziffern und d für die gleiche Sache mit Tag angegeben werden kann.

$d1 = [datetime]::ParseExact('2016/2/9 02:03:01', 'yyyy/M/d HH:mm:ss', $null) 
1

warum nicht einfach get-date verwenden?

$d1=get-date '2015/12/19 08:15:32' 
$d2=get-date '2016/2/9 02:03:01' 
Verwandte Themen