IT_bigstone 2019-01-10 12:11 采纳率: 50%
浏览 1503
已采纳

easyui中datagrid里的datebox修改时会默认变为当前日期,怎么解决

正常的时间为2019-01-13
图片说明
双击修改后会默认变为当前时间
图片说明

时间列声明方式:

<th field="birthday" sortable='true' editor="{type:'datebox',options:{editable:false}}" formatter="formatDatebox">出生日期</th>

时间格式化方法:

Date.prototype.format = function (format) {
    var o = {
        "M+": this.getMonth() + 1, // month
        "d+": this.getDate(), // day
        "h+": this.getHours(), // hour
        "m+": this.getMinutes(), // minute
        "s+": this.getSeconds(), // second
        "q+": Math.floor((this.getMonth() + 3) / 3), // quarter
        "S": this.getMilliseconds()
        // millisecond
    }
    if (/(y+)/.test(format))
        format = format.replace(RegExp.$1, (this.getFullYear() + "")
            .substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(format))
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
    return format;
}
function formatDatebox(value) {
    if (value == null || value == '') {
        return '';
    }
    var dt;
    if (value instanceof Date) {
        dt = value;
    } else {
        dt = new Date(value);
    }

    return dt.format("yyyy-MM-dd"); //扩展的Date的format方法(上述插件实现)
}
  • 写回答

2条回答 默认 最新

  • IT_bigstone 2019-01-10 20:15
    关注

    楼主自己解决的,其实是因为从后台JSON传入的时间格式不对。本来的时间格式为:Apr ... 13/01/1018 (就是最原始的格式)。
    然后我还了Jackson中的@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")的注解,转换了时间格式。这样
    在转换JSON过程中,就自动转换成 2018-01-13 12:33:21这种格式,此时edatagrid中的databox的日历控件就不会出现这种情况了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)