第一种:在属性或者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传到后端去。