Formato de fecha y fecha de serialización de la clase de entidad JAVA

A través de la consulta de Baidu, encontramos 3 formas

1. @JsonFormat y @JSONField se utilizan para procesar los parámetros de solicitud en formato json.
Por ejemplo, la hora de transmisión del front-end es "2020-08-12 23:28:00", use @JsonFormat(pattern = "yyyy-MM -dd HH:mm: ss", zona horaria = "GMT+8"), ambos precedidos por JSON. Cuando el formato de la solicitud recibida y los datos devueltos son json, la anotación surte efecto. Actualmente, los atributos más largos de JSONField son @JSONField(name="resType") y @JSONField(format="yyyy-MM-dd")

2. @DateTimeFormat también maneja el formato de hora, pero no admite la deserialización, es decir, no puede convertir el formato de datos de front-end a json. Puede recibir el formato de hora en forma de formulario, use directamente la anotación @DateTimeFormat(pattern="yyyy-MM-dd")

3. Resumen
Use @JsonFormat y @JSONField cuando el front-end lea el campo de fecha de la base de datos para convertir la marca de tiempo en datos de fecha con formato.
Use @JsonFormat y @JSONField cuando el front-end use JSON
para enviar @DateTimeFormat cuando el front-end use Form para enviar

@DateTimeFormat formatea el tipo de fecha de entrada en el formato especificado y @JsonFormat muestra el tipo de fecha resultante en el formato especificado.

@DateTimeFormat no funciona para la solicitud de @RequestBody y @JsonFormat funciona para los parámetros de entrada y salida. @DateTimeFormat solo funciona cuando se usa @RequestParam.
Enlace de referencia: https://blog.csdn.net/weixin_41712768/article/details/107969184

Solución 1
(no muy recomendable, porque es imposible agregar esta anotación a todas las clases de entidad, que también fue nuestro dolor de cabeza ayer) Agregue la anotación de fecha y hora con formato de deserialización @JsonFormat
a la clase de entidad

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
Solución 2
Creo que es la mejor manera

Puede agregar la siguiente configuración en el archivo de configuración global de Spring application.yml: spring: jackson: date-format: "yyyy-MM-dd HH:mm:ss " time-zone: “GMT+8” mvc: date- format: "yyyy-MM-dd HH:mm:ss" La configuración anterior es equivalente a agregar anotaciones en el campo: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") Si la hora de su campo no necesita estar en formato aaaa-MM-dd HH:mm:ss, puede formatear la fecha agregando anotaciones al campo. Por supuesto, si solo necesita el año, mes y día, puede usar la tabla El campo correspondiente se establece en Fecha (año, mes, día) en lugar de Fecha y hora (año, mes, día, hora, minuto, segundo) tipo

primavera:
jackson:
serialización:
escritura de fechas como marcas de tiempo:
zona horaria verdadera: GMT+8
inclusión de propiedad predeterminada:
formato de fecha no nulo: aaaa-MM-dd HH: mm: ss
Este problema, nuestro proyecto Agrupé a varios colegas y trabajé hasta las 11:00; lo encontré en la mañana después de buscar al día siguiente;
consulte el enlace del texto original: https://blog.csdn.net/qq_45010998/article/details/121957318

por fin

Sé que la mayoría de los ingenieros de Java de nivel junior y medio quieren mejorar sus habilidades y, a menudo, intentan crecer por sí mismos o inscribirse en clases.Sin embargo, las tasas de matrícula de casi 10.000 yuanes para las instituciones de formación son realmente estresantes. ¡El efecto del autoaprendizaje es ineficiente y prolongado, y es fácil tocar el techo y estancarse en la tecnología!

Por lo tanto, recopilé y clasifiqué un " Conjunto completo de materiales de aprendizaje para el desarrollo de Java " y se lo di a todos. La intención original también es muy simple, es decir, espero ayudar a los amigos que quieren aprender por sí mismos pero no saber por dónde empezar y, al mismo tiempo, reducir la carga de todos.

El editor ha cifrado: aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==Por razones de seguridad, codificamos el sitio web a través de base64 y usted puede decodificar la URL a través de base64.

Supongo que te gusta

Origin blog.csdn.net/m0_67393827/article/details/126790299
Recomendado
Clasificación