解决JSON序列化日期格式问题

        从数据库中查询到的数据,有DateTime类型的日期数据,在返回到页面中时,如果经过了JSON序列化,则会把时间格式化成毫秒表示,就是很长的一串数字:

在页面中显示是这样的:

解决JSON序列化日期格式问题_第1张图片


        这种情况只需要在js中进行日期的格式化就可以了

$('#searchInfo').datagrid({
      columns: [[
                 { field: 'ck', checkbox: false },
                 { title: '主键', field: 'b_basicInformationNumber', hidden: true },
                 { title: '档案编号', field: 'b_ID', sortable: true, hidden: true, },
                 { title: '姓名', field: 'b_name', sortable: true },
                 { title: '性别', field: 'b_sex', sortable: true, },
                 { title: '身份证号', field: 'b_idNumber', sortable: true, },
                 { title: '接收方式', field: 'b_receivemode', sortable: true },
                 { title: '本人身份', field: 'b_myidentity', sortable: true },
                 { title: '学历', field: 'pmt_educationBackground', sortable: true },
                 { title: '原工作单位', field: 'b_oldworkplace', sortable: true },
                 { title: '缴费截止日期', field: 'b_stoptime', sortable: true, formatter: 
                                    function (value, row, index) { return changeDateFormat(value) } },
                 { title: '档案在否', field: 'b_isrecord', sortable: true },
                 { title: '操作', field:'oc',formatter: function (value, row, index) { return OperateColumn(value, row, index) } }
                
             ]]

})
通过对缴费截止日期列的格式化,通过方法changeDateFormat()来完成:

 //转换日期格式     
function changeDateFormat(cellval) {         
        if (cellval!=null) {             
         var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10));             
         var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;             
         var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();             
         return date.getFullYear() + "-" + month + "-" + currentDate; 
         }
 }
这样就完成了日期的转换:

解决JSON序列化日期格式问题_第2张图片

你可能感兴趣的:(解决JSON序列化日期格式问题)