一般,做数据库表设计时,很多情况下,我们都至少需要一个日期字段来记录操作相关。
而这种表示日期的字段,我们使用 datetime
类型比较多,但是如果使用 datetime
类型,直接前端拿日期时,我们会发现拿到日期格式是 2022-11-20T11:10:00.000+00:00
这种的,但我们一般都需要 2022-11-20 21:26:44
这种精确到时分秒的格式。
经过查找相关方法,下面给出就我所知最简单的方法:
-
数据库表字段类型使用
datetime
-
实体类中对应的日期属性使用
java.util.Date
,不要使用java.sql.Date
! -
实体类中对应的日期属性上使用
@JsonFormat
注解,格式化日期,时间戳格式yyyy-MM-dd HH:mm:ss
,并指定时区(千万注意,指定的GMT+8
之间不要有空格!)/** * 时间戳 */ @Column(name = "timestamp") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") //后端注解格式化日期 private Date timestamp;
-
以上,在前端拿数据的时候就可以拿到
2022-11-20 19:10:00
此种标准格式的时间戳。