关于实体类的日期转换中使用@DateTimeFormat、@Pattern()、@JsonFormat
| 注解 | 使用场景 |
|---|---|
| @DateTimeFormat | @DateTimeFormat只会在类似@RequestParam的请求参数(url拼接的参数才生效)上生效,如果@DateTimeFormat放到@RequestBody下是无效的。 |
| @Pattern() | 在实体上对属性进行正则匹配(例如:@Pattern(^\w+$),只能输入由数字、26个英文字母或者下划线组成的字符串) |
| @JsonFormat | 在@RequestBody中则可以使用@JsonFormat把传给后台的时间字符串转成Date |
简单那来说 ,这三个注解几乎都使用在controller层上,@DateTimeFormat和@JsonFormat用来接收前端请求的body。前者用于将日期转为时间(非@RequestBody下使用),后者在json环境下使用。
而@Pattern()则在实体内变量中进行正则匹配。
所以妄想println的同学,还是写一个日期格式util吧。用simpledateFormat。
本文详细介绍了在实体类中处理日期格式化的三种注解:@DateTimeFormat、@Pattern 和 @JsonFormat 的使用场景及区别。其中,@DateTimeFormat 主要用于 URL 参数的日期格式化;@Pattern 用于实体属性的正则匹配;@JsonFormat 则用于 JSON 请求体中日期字符串的格式化。
745





