使用layui中table表格显示MySql中datetime类型数据的格式转换问题

问题描述:

是这样的,最近在搞课程设计。然后涉及到一个layui表格显示从MySql中读取的数据,其中有一个为入库时间,类型为datetime,在前端页面显示为一段数字。

我的实体类中定义了一个Date类型数据:

private Date date;

在前端页面中,layui表格显示的数据代码:

  table.render({
            elem: '#inputInfoTable',
            url:'${pageContext.request.contextPath}/inputshop?method=selectAllInputshop',
            parseData:function(result){
                return{
                    "code":0,//layui框架必须得到code为0认为查询成功
                    "msg":result.message,//错误信息
                    "count":result.count,//数据总条数
                    "data":result.list//要显示的数据
                }
            },
            page:true,//开启分页
            limits:[5,10,15,20],//控制每页显示多少条数据
            cols: [[
                {field:'ipid', title: '入库单号'},
                {field:'date', title: '入库时间',sort:true},
                {field:'username', title: '经办人'},
                {field:'webhouse', title: '入库仓库',
                    templet:function(d){
                        if(d.webhouse=="house1"){return "一号仓库";}
                        else if(d.webhouse=="house2"){return "二号仓库";}
                        else if(d.webhouse=="house3"){return "三号仓库";}
                        else return "四号仓库";
                    }
                },
                {field:'remark', title: '备注'},
                {fixed: 'right', title:'操作', toolbar: '#rowbar'}
            ]]
        });

因为需要有修改功能,所以我又设置了一个弹出框,用来实现修改功能。如图:

使用layui中table表格显示MySql中datetime类型数据的格式转换问题_第1张图片

因为需要重置填写的信息,我得获取上面三项的数据并在表单元素中显现。

  form.val('inputFormFilter',{  //预加载
                            'date':obj.data.date,
                            'remark':obj.data.remark
                        });

解决方法

刚开始我的解决格式问题的方式是:在cols中的date处设置时间格式

cols: [[
-----------           
        {field:'date', title: '入库时间',sort:true,
            templet : function(value){
                   return layui.util.toDateString(value.date);
         }}//改变时间显示格式          
------------
       ]]

这个方法可以使时间的格式变成:yyyy-MM-dd HH:mm:ss

这个时候表格是可以了,但是它弹出层格式没设置呀。

使用layui中table表格显示MySql中datetime类型数据的格式转换问题_第2张图片

然后我意识到可以从源头找起,直接把实体类中的date格式变了不就行了?

然后在度娘的帮助下,最终我的实体类date成了这样

@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date date;  //入库时间

小小一句话直接从源头解决了问题。看来代码是最讲理的:对就是对,错就是错()

你可能感兴趣的:(小白的问题,mysql,java,javascript,layui)