javascript日期格式处理

一. 服务端返回的日期和时间之间有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的时间也是不一样的

 

转载于:https://www.cnblogs.com/hankuikui/p/6678676.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值