一般,做数据库表设计时,很多情况下,我们都至少需要一个日期字段来记录操作相关。
而这种表示日期的字段,我们使用 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此种标准格式的时间戳。