1
編輯:解決,重複:Prevent timezone conversion on deserialization of DateTime valueXML反序列化錯誤地將一個日期
我遇到一個奇怪的錯誤嘗試反序列化9月30日2000年
2000-時09:30T00:00:00 + 11:00將日期變成29/09/2000 11:00:00 PM。
我怎樣才能防止它丟失了一天的轉換:
public class Data
{
[XmlArray("Times")]
[XmlArrayItem("Time")]
public List<DateTime> Times { get; set; }
public void Test()
{
XmlReader xr = XmlReader.Create(new StringReader(@"<Data><Times><Time>2000-09-30T00:00:00+11:00</Time><Time>1900-01-01T06:00:00</Time></Times></Data>"));
XmlSerializer ser = new XmlSerializer(typeof(Data));
Data data = (Data)ser.Deserialize(xr);
// hover over data and see date is the 29th
}
}
當我更改TimeZone時,同樣的問題仍然存在? –
更改時區後是否重新啓動了Visual Studio? – GTG
+1不,我沒有。我剛剛解決了這個解決方案的問題:http://stackoverflow.com/questions/3188933/prevent-timezone-conversion-on-deserialization-of-datetime-value –