datagrid中datetime字段的异常显示:

使用过easyui datagrid的应该都知道,如果数据库中的字段是datetime类型,绑定在datagrid显式的时候会不正常显示,一般需要借助于formatter来格式化时间格式

                  {
                    title: '活动开始时间', field: 'BeginTime', width: 300, editor: {
                        type: 'datetimebox', options: { required: true },
                        formatter: function (v) {
                            return Common.DateTimeFormatter(v);
                        }
                    }
                }

Common.DateTimeFormatter的具体实现如下:

var Common = {

    //EasyUI用DataGrid用日期格式化
    TimeFormatter: function (value, rec, index) {
        if (value == undefined) {
            return "";
        }
        /*json格式时间转js时间格式*/
        value = value.substr(1, value.length - 2);
        var obj = eval('(' + "{Date: new " + value + "}" + ')');
        var dateValue = obj["Date"];
        if (dateValue.getFullYear() < 1900) {
            return "";
        }
        var val = dateValue.pattern("yyyy-MM-dd HH:mm");
        return val;
    },
    DateTimeFormatter: function (value, rec, index) {

        if (value == null || value == '') {
            return '';
        }
        var dt;
        if (value instanceof Date) {
            dt = value;
        }
        else {
            dt = new Date(value);
            if (isNaN(dt)) {
                value = value.replace(/\/Date\((-?\d+)\)\//, '$1'); //标红的这段是关键代码,将那个长字符串的日期值转换成正常的JS日期格式
                dt = new Date();
                dt.setTime(value);
            }
        }
        return dt.pattern("yyyy-MM-dd HH:mm");
    },

    //EasyUI用DataGrid用日期格式化
    DateFormatter: function (value, rec, index) {
        if (value == undefined) {
            return "";
        }
        /*json格式时间转js时间格式*/
        value = value.substr(1, value.length - 2);
        var obj = eval('(' + "{Date: new " + value + "}" + ')');
        var dateValue = obj["Date"];
        if (dateValue.getFullYear() < 1900) {
            return "";
        }

        return dateValue.pattern("yyyy-MM-dd");
    }
};
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-23
  • 2022-01-13
  • 2021-11-30
  • 2021-06-10
  • 2022-12-23
猜你喜欢
  • 2021-09-21
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-27
相关资源
相似解决方案