jquery easyui datagrid columns日期格式化問題
使用easyui的datagrid,從後端返回的json字串中的日期,直接賦值到createtime這個column時,出現了錯誤顯示。
顯示的樣子是:[object Object]。明顯是一個物件,使用formatter做了格式化後,
{
field : 'createtime',
title : '建立/修改時間',
width : 220,
align : 'center',
formatter : function(value){
var date = new Date(value);
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
var M = date.getMinutes();
var s = date.getSeconds();
return y + '-' +m + '-' + d + ' ' + h + ':' + M + ':' + s;
},
顯示的樣子是:NaN-NaN-NaN NaN:NaN:NaN
在formatter中,alert(date);提示invalid date。看來,是value的問題。從後端debug,得到的json字串看,createtime部分是這樣的一個字串:
{"createtime":{"date":5,"day":1,"hours":22,"minutes":18,"month":10,"nanos":0,"seconds":16,"time":1541427496000,"timezoneOffset":-480,"year":118},
createtime這個串到前端後還是一個json物件,如果直接new Date(這個json物件),確實不能得到正確的日期,其引數應該為一個時間戳,所以,應該是new Date(json物件.time),這樣就可以得到正確的日期時間了。
修改後為:
formatter : function(value){
var date = new Date(value.time);
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
var M = date.getMinutes();
var s = date.getSeconds();
return y + '-' +m + '-' + d + ' ' + h + ':' + M + ':' + s;
},
日期顯示正常。