1. 程式人生 > >從資料庫取到資料轉換json後,時間格式帶上T的解決辦法

從資料庫取到資料轉換json後,時間格式帶上T的解決辦法

從資料庫取得資料之後,轉換成json顯示在前臺,在轉換json時發現yyyy-MM-dd HH:mm:ss格式的日期變成了yyyy-MM-ddTHH:mm:ss,

日與小時之間多出個T字元.這是因為

Newtonsoft.Json轉換json導致的;

Newtonsoft.Json產生的預設日期時間格式為: IsoDateTimeConverter 格式

解決辦法如下,

引入下面的名稱空間

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

//這裡使用自定義日期格式,如果不使用的話,預設是ISO8601格式 

IsoDateTimeConverter timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm':'ss" };

JsonConvert.SerializeObject(list.Tables[0], Formatting.Indented, timeConverter);

這樣得到的json資料的日期就不會多出T字元啦

不做處理時直接轉換json就好了

要注意的是,轉換後的值將會和資料庫內的值有些不同.

如果要使值相等,需要帶上完整的格式.

IsoDateTimeConverter timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm':'ss'.'fff" };