日期 & 格式化
1 原理及所需知识
在JDK8发布的时候,推出了LocalDate、LocalTime、LocalDateTime这个三个时间处理类
类名 | 格式 |
---|---|
LocalDate | 2021-05-13 |
LocalTime | 16:20:18.386 |
LocalDateTime | 2021-05-13T16:20:18.386 |
从上表可以看出:LocalDateTime = LocalDate + “T” + LocalTime;
数据库中的日期格式:year没用过,所以这里不提
数据类型 | 格式 | 取值范围 |
---|---|---|
date | YYYY-mm-dd | 1000-01-01到9999-01-01 |
time | HH:mm:ss | 00:00:00到23:59:59 |
datetime | YYYY-mm-dd HH:mm:ss | 1000-01-01 00:00:00到 9999-12-31 23:59:59 |
timestamp | YYYY-mm-dd HH:mm:ss | 1970-01-01 00:00:01 到 2038-01-19 03:14:07 |
2 代码示例
导入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.16</version>
</dependency>
添加注解
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
- @DateTimeFormat,是spring的一个序列化注解,将日期对象序列化然后存储到数据库中
- @JsonFormat,一个反序列化注解,可以把数据库中获得的时间反序列化(转换成我们需要的日期类型)