2012-06-12 57 views
2

我很少分析xml文件,並且嘗試使用集成在Linq2Xml中的功能。不過今天我偶然發現了一個日期格式我不能夠通過投:從帶時區縮寫的xml文檔解析日期時間(例如,CET)

XElement element = ... 
var date = (DateTime)element; 

的日期是按以下格式:

01/28/2009 02:31:54 CET 

我已經嘗試解析各種組合使用TryParse日期,文化,但無論什麼格式,我嘗試日期時間分析器抱怨位置20的空間。有沒有辦法解析這個日期沒有拆分字符串或做尷尬的事情?

+0

如果空間是問題,爲什麼不在解析之前刪除它? –

回答

2

聽起來像時區縮寫(例如CET)不被識別。你知道抵消?

這個人是有一個相關的問題: Parse DateTime with time zone of form PST/CEST/UTC/etc

從他的崗位的一個例子:

DateTime dt1 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+2"), "dd-MMM-yy HH:mm:ss z", culture); 

顯然你的日期時間格式是有點不同,但它是一個想法保釋你出去。

如果可以,請要求提供XML的人員使用ISO 8601格式生成日期/時間以避免自定義分析。

+0

+1該系統是一個大型的黑匣子,沒有機會改變這一點。維護所有可能的時區縮寫字典,聽起來很有希望:-)。 – Andreas