2012-11-15 37 views
-1

我得到這樣的數據從XML文檔:如何轉換這種日期(不知道它是哪種格式)?

2012-08-29T18:18:00+02:00 

,我想將它與DateTime對象轉換。所以我可以根據需要進行管理,只需要一天和/或一個月。

但如果我這樣做:

DateTime.Parse("2012-08-29T18:18:00+02:00").Date 

我得到出頭喜歡\/Date(1346191200000)\/:O型

我在哪裏錯了?我想我需要在分析它時指定日期類型?


的建議後,我試着用這樣的數據:

string dataStr = "2012-11-15T13:50:58+01:00"; 
DateTime data = DateTime.Parse(dataStr).Date; 
Response.Write(data.Hour + "<br />"); 

但產量0,所以時間丟失。爲什麼?

+2

'DateTime.Parse'似乎對格式做工精細。可能你的問題實際上是由於生成的DateTime造成的? – Rawling

+1

這是一個RFC3339日期,它也使其符合ISO8601的日期。 –

+1

你從哪裏得到這個值'\/Date(1346191200000)\ /'?以及你如何顯示你的日期? –

回答

1

根據您的最新更新:

DateTime d = DateTime.ParseExact("2012-11-15T13:50:58+01:00", "yyyy-MM-ddTHH:mm:ssK", null); 

Response.Write(d.Hour + "<br />"); 
+0

不,它不起作用!檢查更新!時間會消失... – markzzz

+0

我改變了答案。 –

+0

我想直接打印日期+時間?嘗試過'd.Date',但它是0:O – markzzz

1

這是個XML使用的標準格式,所有的XML解析器應該正確處理它。你不需要解析它。 使用Linq2Xml,例如,所有你需要做的就是它強制轉換爲DateTime對象

XElement xElem = new XElement("Time", "2012-08-29T18:18:00+02:00"); 
var dt = (DateTime)xElem; 
相關問題