Spring Boot:以 dd/mm/yyyy 格式在数据库中插入日期

问题描述

我试图按照我的相同问题在此站点上关注一个问题,即以 dd/mm/yyyy 格式将日期插入到数据库中,但它不起作用。

所以我也提出这个问题希望能解决这个问题;我解释得更好:

我的日期是这样写的

@JsonFormat(pattern="dd/MM/yyyy")
private Date datebirth;

我尝试通过输入以下日期来使用 Postman 对其进行测试: "datebirth": "31/05/2021"}

当我将它保存在数据库“datebirth”中时,它被保存为: 2021-05-31 01:00:00(但我希望日期采用 dd/mm/yyyy 格式,但我不希望它是 01:00:00) >

如何解决这个问题,然后以 31/05/2021 格式获取日期?

Controller 中的 Save-student 方法

@PostMapping("save-student")
public boolean saveStudent(@RequestBody Student student) throws IOException{
    return studentservice.saveStudent(student);
}

解决方法

Java 默认保存日期的方式是使用 ISO-8601 格式,格式为 yyyy-mm-dd hh:mm:ss。从数据库中检索日期后,您可以使用标准 Java 日期时间格式库之一,例如 Joda-Time 或 LocalDate 或 DateTimeFormatter 或 SimpleDate 将日期格式化为“dd/MM/yyyy”格式。

以下是使用 SimpleDate 格式化为 dd/MM/yyyy 的示例:

String pattern = "dd/MM/yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

String date = simpleDateFormat.format(new Date());
System.out.println(date);