选择实体类中属性日期的格式



我正在使用 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")

最新更新