從數據庫取得數據之后,轉換成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" };