zoukankan      html  css  js  c++  java
  • 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的时间也是不一样的

  • 相关阅读:
    vim tail
    范式
    $@疑点
    ^ $ 和 a z 字符匹配
    [导入]DataList编辑、更新、取消、删除、分页(分页控件AspNetPager.dll)
    [导入]用.net操作word
    导出文件
    [导入]总结:ADO.NET在开发中的部分使用方法和技巧
    读取DataTable中的数据,一行一行进行比较
    [导入]ASP.NET 数据访问类
  • 原文地址:https://www.cnblogs.com/hankuikui/p/6678676.html
Copyright © 2011-2022 走看看