1.问题描述
- 1.数据库里的日期为date类型,java如何进行接收?
- 2.前端传过来的时间,后端如何接收?
- 3.后端如何将时间存入数据库?
- 4.写入数据库的时间会比传入的时间提前一天?
2.解决方法
2.1两个注解解决接收问题
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
private Date award_date;//这里是你自己的时间类型的字段,在它上面加上这两个注解即可
- @DateTimeFormat入参注解;格式化接收前端的时间字符串为正确格式
- @JsonFormat出参注解;格式化从数据库库里面查询出来的时间为正确格式
- pattern参数可以自由定制。
- timezone参数用于调整时区
2.2一个参数解决时间提前问题
这只要是由于时区的问题,所以时间上面会提前8小时,自己把它加上去就好了。可以直接在连接数据库的语句后面添加参数serverTimezone=GMT%2B8
我这里加载在末尾,拼接完整的如下所示:
url: jdbc:mysql://127.0.0.1:3308/stusystem?characterEncoding=utf8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8
参数里的GMT%2B8实际上就是GMT+8,只不过在拼接的时候得用%2B才行。