DateTime數據類型的XML序列化及時區問題
今天有用戶提到了數據庫時間與界面顯示的時間不一致,發現是由於Remoting在傳輸日期類型數據時,自動根據機器的區域設置進行了時區轉換,所以仔細在網上找了找這方面的資料,現整理如下,供參考。
一、.Net 2.0中,DataColumn增加了一個屬性:DateTimeMode,用於控制日期的Xml序列化問題。見下面抓圖:
二、對實體Xml序列化處理,可以在屬性名前加XmlElement Attribute,只可惜,XmlElement 的DateType只有date,dateTime,time三種類型,沒有即有日期又有時間,但不包含時區信息的格式:
三、對日期參數,這個就需要使用到DateTime的一個構造函數參數DateTime(Int64, DateTimeKind),就是DateTimeKind了,DateTimeKind也有Local,Unspecified ,UTC三個枚舉值。這三個值的處理結果與DataColumn類似。