前后端时间格式String转换错误
当遇到后端转换时间时出现 String不能转换为javabean的date类型时,如下
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object ‘control’ on field ‘’: rejected value [2029-09-23T16:00:00.000Z]; codes [typeMismatch.control.expirationDate,typeMismatch.expirationDate,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [control.expirationDate,expirationDate]; arguments []; default message [expirationDate]]; default message [Failed to convert property value of type ‘java.lang.String’ to required type ‘java.util.Date’ for property '’; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: “2029-09-23T16:00:00.000Z”]
在转换异常的类下加入下面一段代码,则可局部解决转换异常问题
@InitBinder
public void initBinder(WebDataBinder binder, WebRequest request) {
//转换日期
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
}