第一种:在属性或者get方法上加此注解
// 在属性或者get方法上加此注解
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date createtime;
第二种: 方法内实际转换,对于大数据量,提议使用第一种
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
/**
* @author 在属性或者get方法上加入@JsonSerialize(using=DateFormatSerializer.class)
*
*/
public class DateFormatSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
throws IOException, JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datestr = sdf.format(value);
gen.writeString(datestr);
}
}
第三种:入参解决方案
@Controller
@RequestMapping("")
public class ProductbaseEditionController extends BaseController {
@GetMapping("/productbaseEdition")
public String productbaseEdition(@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")Date eTime) {
System.out.println("test time:"+eTime);
return "productbaseEdition/list";
}
}
1.如果前后端传的数据都是json,那么后台接数据,传数据都可以用@JsonFormat。
2.@DateTimeFormat适合后端 接收 前端传来的数据,不管是不是json都可以正确转换成Date型数据,只要前端传来的格式正确且后端@DateTimeFormat的pattern写正确了,但是这个注解无法将Date型数据用json传到后端去。
















