wordpress 越来越慢,广州优化公司哪家好,vue做响应式网站,设计制作生态瓶教学设计环境
jdk11mysql 8.0docker部署的
问题
突然发现页面上的数据比数据库的时间差了八个小时#xff0c;然后我就开始排查问题。 首先看数据库的信息#xff0c;发现时间都是没错的。
然后看一下ymal文件#xff0c;是否是数据源链接写的有问题。
spring:datasource:url:…环境
jdk11mysql 8.0docker部署的
问题
突然发现页面上的数据比数据库的时间差了八个小时然后我就开始排查问题。 首先看数据库的信息发现时间都是没错的。
然后看一下ymal文件是否是数据源链接写的有问题。
spring:datasource:url: jdbc:mysql://192.168.65.128:3306/work?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghaiusername: rootpassword: root发现也是没问题的。 接着看一下web前端。打开控制台发现后端传过来的json串里面的数据就比DB中的时间少了八个小时。
发现是JSON序列化的问题。
在配置文件中加上即可。 然后重新部署。 结果发现ok时间正确。 Jackson 是一个用于 JSON 序列化和反序列化的 Java 库。当您在 Jackson 中配置特定的日期格式和时区时它会影响应用程序中日期和时间值的处理和显示。
在您的情况下当您将日期格式设置为 “yyyy-MM-dd HH:mm:ss”时区设置为 “GMT8” 时Jackson 会根据这个格式和时区格式化和解析日期和时间值。这样的对齐使得前端正确显示时间与 Jackson 中配置的时区一致。
当您移除这些配置时Jackson 会使用其系统范围的设置或 JVM 的默认设置来处理日期格式和时区。如果这些默认设置与 GMT8 不同就会导致前端接收到的数据存在8小时的时间差。
为了确保应用程序中日期和时间的一致性处理特别是涉及时区时建议在 Jackson 中使用符合应用程序需求的正确日期格式和时区设置。