Dot-Net

為什麼 DateTime.ParseExact 不使用尾隨 Z 解析 UTC 格式?

  • September 10, 2016

另一個 ParseExact 問題。我正在嘗試將 UTC 格式的字元串解析為日期時間,其格式為:

"YYYY-MM-DDThh:mm:ss.ssZ"

它採用 UTC 格式,帶有尾隨 Z。由於某種原因,我無法準確解析它。我試過“u”、“s”、“o”自定義格式字元串,還有幾個DateTimeStyles和手寫的。文化是不變的。

出於某種原因,它不喜歡 Z,這表明它是一個 UTC 字元串。當我刪除它時,解析。我會很高興,帶著一些滿足,去掉尾隨的 Z,因為我知道它們是 UTC 日期時間字元串,但我不能。有任何想法嗎?

您提到的格式字元串是標準格式字元串。您可能應該使用自定義格式字元串,如下所示:

DateTime.ParseExact("2011-03-02T20:15:19.64Z", "yyyy-MM-ddTHH:mm:ss.ffK", null).ToUniversalTime()

如果您不放在ToUniversalTime()最後,結果將轉換為您當地的時區。

引用自:https://stackoverflow.com/questions/6629575