前端在向后端传递时间类型的文本时,默认的时区是UTC时间
若后端使用的时区是GMT,例如使用JDBC连接Mysql时使用了参数serverTimezone=Asia/Shanghai
那么就会出现下面的情况
- 前端传输的时间
默认时区为+0000
{"expireTime": "2021-01-14T11:51:00.000"}
-
数据库存储的时间
两者差了8小时
这样会不统一的时区会导致我们在比较时间先后时出现误差 -
解决办法是在传时间文本时指定时区为东八区,即
指定时区为+0800
{"expireTime": "2021-01-14T11:51:00.000+0800"}
- 统一时区后的结果