首先让前端把时间的格式装换成"yyyy-MM-dd HH:mm:ss"格式(你们喜欢的格式)
那么后端怎么处理呢,实体类(pojo层)需要加上两个注解
@DatetimeFormat:将前台日期字符串转换成Date格式 @DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat:将服务器端Date日期转换成指定字符串格式 @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
注意:timezone 表示后台时区属性加8小时,前端时间控件也需要加8小时,否则会产生时区差异问题
public class evaluateDate {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
private Date startDate;
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endDate;
}
然后,在写controller层写接口跳转,我这里的接口是传入多个参数的,有文件流和一个对象
@RestController
@RequestMapping(value = "/api",method = RequestMethod.POST)
public class ExcelController {
@Autowired
private ExcelService excelService;
@CrossOrigin
@RequestMapping(value = "/analysisExcel",method = RequestMethod.POST)
public Result analysisExcel(@RequestParam("files") MultipartFile[] files,evaluateDate date){
//使用easyExcel读取数据
boolean flag = excelService.readExcel(files);
//获取评价的开始时间和结束时间
excelService.saveevaluateDate(date);
}
}
注意:在方法体,传时间的对象“evaluateDate date”前不要加任何注解,如@RequestParam("date")、@RequestBody等等,就会报错:Content type 'multipart/form-data;boundary=--------------------------304791335149646901630970;charset=UTF-8' not supported]
最后,使用postman测试接口,要注意因为要传给文件,那么时间对象就要获取实体类的的正式参数传(如果直接传实体类对象,是传送不了,具体我不知道,希望有大佬告诉我)如图
当然,我这是局部处理时间格式,大家是可以百度使用全局配置时间转换格式



