2012-02-24 155 views
1

我試圖將以下字符串轉換爲日期時間。我搜索了高和低,無法找到確切的格式字符串,我不想訴諸手動解析它。解析日期時間字符串

var dateString = "20110828T134108+0100"; 

我所有的嘗試都失敗,出現FormatException。

+0

什麼格式的字符串你試過嗎? – BrokenGlass 2012-02-24 16:29:26

+0

我首先嚐試刪除時區,使字符串變成「20110828T134108」,並嘗試使用DateTime.ParseExact(dateString,「yyyyMMdd'T'hhmmss」,null)'但沒有運氣 – marto 2012-02-24 16:36:16

回答

3

你試過嗎?

var date = DateTime.ParseExact(dateString 
    ,"yyyyMMdd\THHmmsszzz" 
    ,CultureInfo.InvariantCulture 
    ); 

MSDN

如果格式是不包括日期或 時間分離器(如「YYYYMMDD HHMM」)的自定義格式圖案,使用固定區域性 爲提供參數以及每種自定義格式的最寬格式 說明符。例如,如果要以 格式指定小時,請指定較寬的格式「HH」,而不是較窄的格式,即 「H」。

0

試試這個格式:"yyyyMMdd'T'HHmmss"

0

你有沒有嘗試過這樣的:

DateTime.ParseExact("20110828T134108+0100", "yyyyMMdd'T'HHmmsszzzz", CultureInfo.InvariantCulture);