问题
Java后台程序读取数据库时间,在前端页面进行展示的时候,出现了错误,展示的时间和数据库中的时间不一致。
所用工具及其版本如下
Mysql 数据库版本: 8.0.15 for osx 10.14
数据库里的时间类型: dateTime
JDK版本:11.0.2
Mysql 驱动:mysql-connector-java 8.0.16
数据源:com.alibaba.druid 1.1.19
Java 项目里,时间类型:joda-time 2.10.2 的 DateTime
排查原因
最开始排查原因,是不是从数据库读取时间之后进行转化出错了,因为为了在前端进行时间展示,我将数据库读取出来的时间先转化为了字符串,再转化为DateTime的时间格式。开始进行测试:
1 DateTime now =DateTime.now();2 System.out.println(now);3
4 String nowStr = now.toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));5 System.out.println(nowStr);
输出为:
1 2019-09-03T11:15:23.749+08:00
2 2019-09-03 11:15:23
可以看到 DateTime 的输出时间格式是很标准的,后面还加上了“+08:00”,代表了东八区北京时间。转化为字符串的显示也是正确的。
下一步排查数据库的读取是否正确,在终端进入数据库&#