參考了一個例子,在后臺處理完之后我是這么返回值的:
JSON json = JSONSerializer.toJSON(new JsonResult<ResumeVO>(0, "頁面加載成功!", resumeVO));
return json.toString();
這樣子做的話如果返回的實體里含有Date或者Timestamp類型的值,在前端的顯示是:
"birthday": {
"date": 26,
"hours": 0,
"seconds": 0,
"month": 5,
"timezoneOffset": -480,
"year": 96,
"minutes": 0,
"time": 835718400000,
"day": 3
}
有沒有人用過這一個工具類的啊,怎么還是讓他顯示成yyyy-MM-dd形式的?(@JsonFormat用過了沒用,改成字符串類型雖然有用,但是現(xiàn)在改的話要非很大工夫)
4 回答

人到中年有點甜
TA貢獻1895條經(jīng)驗 獲得超7個贊
之前遇到過,網(wǎng)上找了端js代碼格式化時間。
//對Date的擴展,將 Date 轉(zhuǎn)化為指定格式的String
//月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符,
//年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數(shù)字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}

紫衣仙女
TA貢獻1839條經(jīng)驗 獲得超15個贊
通常來說后端json傳時間的話傳你這樣的時間戳更好吧,然后再由前段轉(zhuǎn)成想要顯示的時間字符串。
有個類似的問題你可以看一下為什么后臺給前臺Date是時間戳,而前臺給后臺則直接是時間字符串?
添加回答
舉報
0/150
提交
取消