標籤:com src .net form soft 返回 hand oda new
一. 服務端返回的日期和時間之間有T
Asp.net MVC中 action返回前台的日期類型資料 是帶有 T的,如: 2015-07-07T10:15:01。
這樣的資料在Chrome瀏覽器,會自動加8小時,如下:
而在IE下,是沒有問題的,
解決辦法:可以在json序列化時處理: 需要使用Newtonsoft.Json序列化輸出,
JsonSerializerSettings setting = new JsonSerializerSettings(); setting.DateFormatHandling = DateFormatHandling.IsoDateFormat; setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() => { return setting; });
二. javascript處理日期和時間帶T的情況
我的方案就是把T替換掉
dateTransfer: function (dateString) { if (!dateString) { return ""; } return new Date(dateString.replace(/T|Z/g, ‘ ‘)); },
三. IE和Chrome瀏覽器對日期處理的區別
最主要的區別就是IE瀏覽器不能識別這們的日期類型,如:2015-07-07 10:15:01, 如果只是日期的,是可以的,
而chrome是都可以
解決方案,就是把日期中的‘-‘替換成‘/‘
dateTransfer: function (dateString) { if (!dateString) { return ""; } return new Date(dateString.replace(/-/g, ‘/‘).replace(/T|Z/g, ‘ ‘)); },
四. 吐槽下IE
IE8下,這個也報錯了,而高版本的IE是沒有問題的
加了T的時間,和不加T的時間也是不一樣的
javascript日期格式處理