2017-01-26 66 views
0

我從API響應中獲得下面的時間戳,我如何將它轉換爲電源shell中的人類可讀文本,我在下面嘗試,但是它引發錯誤。在powershell中轉換時間戳

PS C:\Users\foobar\ddd> [datetime]::ParseExact('20100804T104413+0100',' 
yyyyMMdd'T'HHmmsszzz',[System.Globalization.CultureInfo]::InvariantCulture) 
At line:1 char:57 
+ [datetime]::ParseExact('20100804T104413+0100','yyyyMMdd'T'HHmmsszzz', ... 
+               ~ 
Missing ')' in method call. 
At line:1 char:57 
+ ... me]::ParseExact('20100804T104413+0100','yyyyMMdd'T'HHmmsszzz',[System ... 
+              ~~~~~~~~~~~~ 
Unexpected token 'T'HHmmsszzz'' in expression or statement. 
At line:1 char:69 
+ ... e]::ParseExact('20100804T104413+0100','yyyyMMdd'T'HHmmsszzz',[System. ... 
+                 ~ 
Missing argument in parameter list. 
At line:1 char:122 
+ ... dd'T'HHmmsszzz',[System.Globalization.CultureInfo]::InvariantCulture) 
+                   ~ 
Unexpected token ')' in expression or statement. 
    + CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : MissingEndParenthesisInMethodCall 

20170125T153341-050020170125T153344-0500

回答

2

你唯一的問題似乎是引用的代碼T出錯的(缺乏);除去它似乎很好地工作:也

[datetime]::ParseExact('20100804T104413+0100','yyyyMMddTHHmmsszzz', $null) 

,因爲你提供的所有字符都單獨指定和數字,你不需要指定一個文化一個格式字符串(通過$null,默認爲當前文化,會做)。