2011-03-11 41 views
1

我有一個包含以下日期的XML字符串:2001-01-01T03:40:00Z如何獲得.Net XML反序列化以保留DateTimeKind?

注意它如何以Z結尾,以指示UTC。

我反序列化,像這樣:

using (StringReader stringReader = new StringReader(xmlString)) 
    using (XmlReader xmlReader = XmlReader.Create(stringReader)) 
     obj = (MyObject)sr.ReadObject(xmlReader); 

但是,當我去到相應的日期時間字段中得到的對象,那種字段設置爲「未指定」,而不是「UTC」,這是它應該是什麼。我如何解決這個bug?

回答

2

Kind字段沒有setter,所以XmlSerializer將無法設置它。

許多建議總是將時間序列化爲UTC,然後在需要時調用ToLocalTime。

請參閱this

+0

這是我們如何做到的,而且工作得很好。數據本身始終保持通用,任何視圖都可以反映系統設置的任何時區。 – drharris 2011-03-12 07:16:11