您的位置:首页 > Web前端 > JavaScript

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

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



在页面中显示是这样的:



        这种情况只需要在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, <span style="color:#FF0000;">formatter:
function (value, row, index) { return changeDateFormat(value) }</span> },
{ 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;
}
 }
这样就完成了日期的转换:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: