问题描述
我试图按照我的相同问题在此站点上关注一个问题,即以 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);