我正在使用 Spring Data JPA ,我希望一个nontation将其弥补,以选择日期的格式。我寻找一些注释,但我什么也没发现。我想要这样的东西:
@Entity
public class User(){
......(format dd/mm/aa)
private Date birthDay;
}
谢谢。
您可以使用spring org.springframework.format.annotation.datetimeformat,具有多种日期格式。
在您的实体中,您的生日财产
@Entity
public class User(){
@DateTimeFormat(pattern="dd/MM/yyyy")
private Date birthDay;
}
用于说明存储到数据库时想要的模式,您可以使用@DateTimeFormat
注释。
@Entity
public class User {
@DateTimeFormat("dd/MM/yyyy")
private Date birthDay;
}
有很多标准格式,或者您可以设置自己的自定义格式。
dateTimeFormatter.class
我相信@DateTimeFormat与存储在数据库中的日期(时间(无关 - 它与@RequestParam结合使用以解析httprequest参数。这样:
@GetMapping("/getbybirthdate")
public ResponseEntity<Page<Client>> getClientByBirthdate(@RequestParam int page, @RequestParam int size, @RequestParam @DateTimeFormat(pattern = "dd.MM.yyyy") LocalDate birthdate) {
return ResponseEntity.ok().body(clientService.getClientsByBirthdate(page, size, birthdate));
}
如果您尝试从java.util包映射日期/时间类型,则@temporal是正确的选择。如果您尝试映射java.Time类型,则无需明确指定除@Basic或@column以外的任何映射注释(这是Baeldung建议拥有的东西 - 但是我相信@basic ne @basic ne @basic ne @column n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n Ne n n n n n都是仅需要其额外属性(
但是如果问题是将字符串值解析为日期时间,则在Java中。时间类型,请使用
LocalDate.parse("2017-11-15")
LocalTime.parse("15:30:18")
LocalDateTime.parse("2017-11-15T08:22:12")
Instant.parse("2017-11-15T08:22:12Z")
或用于ISO之外的格式使用DateTimeFormatter类:
LocalDate.from(DateTimeFormatter.ISO_LOCAL_DATE.parse("2018-03-09"))
以及java.util类型:
new SimpleDateFormat("yyyy-MM-dd").parse("2017-11-15")
new SimpleDateFormat("HH:mm:ss").parse("15:30:14")
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse("2017-11-15 15:30:14.332")