1.场景
做excel导出时,使用get请求传递时间的格式: 2019-07-31T16:00:00.000Z,调用接口时,报错
Field error in object 'tmsShippingOrderQueryVo' on field 'endTime': rejected value [1565280000000];
2.问题
后台查询的对象的字段startTime是Date类型,类型不一致
3.解决
startTime=2011/12/02 10:50:25
使用yyyy/mm/dd HH:mm:ss格式传递
http协议是外国人定的,所以得用外国常用时间格式传递
前端处理: 格式化时间格式
format (time, format) {
//time 时间戳 format指定时间格式
format = format === null || format === undefined ? 'yyyy-MM-dd HH:mm:ss' : format
var t = new Date(time)
var tf = function (i) {
return (i < 10 ? '0' : '') + i
}
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
switch (a) {
case 'yyyy':
return tf(t.getFullYear())
case 'MM':
return tf(t.getMonth() + 1)
case 'mm':
return tf(t.getMinutes())
case 'dd':
return tf(t.getDate())
case 'HH':
return tf(t.getHours())
case 'ss':
return tf(t.getSeconds())
}
})
},后端处理:
入参格式化
使用 Spring 的 @DateTimeFormat 注解格式化参数
出参格式化
@JsonFormat 注解
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
版权声明:本文为qq_31035833原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。