本来是开开心心敲代码的一天,结果今天早上闲来无事去服务器查看下数据,咦,数据好像早于现实时间8小时

注:当前时间为2019-11-06 08:43:57

然后初步判断是否是因为mysql数据库时区问题导致早8小时,于是查看数据库的时区

数据库无误,然后问题定位到是否是服务器的时间,于是执行执行date命令查看服务器时间,也发现没问题。

初步排除服务器和mysql数据库的问题。然后后台debug查询数据发现出参数据竟然又恢复正常,一度怀疑我眼瞎了。。。

那么,现象很明确,数据库入参数据早8小时,查询出来的数据比数据库晚8小时,此时想起链接jdbc的参数似乎有设置serverTimezone参数,于是上配置文件查看,果然,时区有问题

度娘曰:UTC是世界统一时间,中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是说中国大陆时区和这个时区相差8小时。

应该用上海时间Asia/Shanghai,于是改成serverTimezone=Asia/Shanghai,恢复正常。

此刻,真想大白!,总体来说,分为两个问题

step1 为啥插入数据到数据库的数据晚于实际8小时

由于数据源配置的时区问题,世界统一时间比中国大陆早8个小时,所以入库数据也早8小时。

step2 为啥页面数据又是正常的时间

由于java获取默认时区是Asia/Shanghai,所以自动还原以Asia/Shanghai为时区的时间

附图证明:

谢谢阅读,如果对你有帮助请点个赞再走吧~

java:记一次因时区导致出参和入参时差8小时前因后果相关推荐

  1. mysql存储过程出参和入参_数据库mysql存储中的入参出参理解

    在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的.有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解.我们把出参和入参看成输入和输出的意思就可以了.想必这样说大家 ...

  2. 【笔记】Spring MVC拦截入参、出参实现入参解密,出参加密统一管理

    需求:为提高接口的安全性,对数据传输加密. 前提:Controller层使用@RequestBody接收入参,@ResponseBody出参 入参解密 package com.sep6th.base. ...

  3. java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值

    正常情况下,在Java中入参是不建议用做返回值的.除了造成代码不易理解.语义不清等问题外,可能还埋下了陷阱等你入坑. 问题背景 比如有这么一段代码: @Named public class AServ ...

  4. spring入参为指定值,校验java入参的值为规定的值,利用Validator指定值校验注解——一看就会

    我们在使用spring项目的时候,经常使用@Valid来对入参进行校验,比如必须为空,必须不为空,长度多少,是否符合邮件格式等等,同时也可以正则. 如下图所示, @Null(message = &qu ...

  5. 函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码

    简介: 本文会以惰性加载为例一步步介绍函数式编程中各种概念,所以读者不需要任何函数式编程的基础,只需要对 Java 8 有些许了解即可. 作者 | 悬衡 来源 | 阿里技术公众号 本文会以惰性加载为例 ...

  6. java10个基础错误_我们处理了10亿个Java记录的错误-这是导致97%的错误的原因

    java10个基础错误 97%的记录错误是由10个唯一错误引起的 在2016年,一件事在30年内没有改变. 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除. 由于某些未知原因,我们隐式信任日志 ...

  7. 我们处理了10亿个Java记录的错误-这是导致97%的错误的原因

    97%的记录错误是由10个唯一错误引起的 在2016年,一件事已经30年没有改变了. 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除. 由于某些未知原因,我们隐式地信任日志文件,因为我们认为事 ...

  8. 1.Java集合框架是什么?说出一些集合框架的优点?

    1.Java集合框架是什么?说出一些集合框架的优点? 干货太重,且文字比较多.需要花费时间与耐心细细咀嚼,但是真的能收获到很多. 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector ...

  9. Java基础学习总结(168)——为什么推荐在RPC的接口中入参和出参都不要使用枚举

    前言: 为什么推荐在RPC的接口中入参和出参都不要使用枚举.最近,我们的线上环境出现了一个问题,线上代码在执行过程中抛出了一个IllegalArgumentException,分析堆栈后,发现最根本的 ...

  10. java好的代码_做java软件工程师,怎样才能写出好的代码?

    原标题:做java软件工程师,怎样才能写出好的代码? Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看 ...

最新文章

  1. 在Ubuntu14.04安装F.lux
  2. 隆重介绍!一款新型基于姿势的人像实例分割框架
  3. 检查值是否是JavaScript中的对象
  4. win8 explorer 进程频繁奔溃的原因及处理
  5. 机器人演唱邓丽君是真的吗_体验官|炒菜机器人真的实用吗
  6. boost::stl_interfaces::detail相关的测试程序
  7. 使用PyCharm定义QQ变量
  8. c语言中调用平均成绩,C语言、用调用函数、输入3个学生5门课程的成绩分别用函数求每个学生平均分每门课的平均分...
  9. python写文件flush_python读写文件write和flush
  10. PEB标记反调试方法
  11. ant接口用什么天线_拆解测量真假钻石手台天线SRH805S
  12. 传输层协议介绍(深入学习)
  13. JS动态添加元素绑定点击事件,触发事件多次执行问题?
  14. Vue项目调用扫一扫功能 亲测好用!!!
  15. windows打印服务器
  16. activity工作流引擎
  17. 转载精品:工作8年的普通专科生程序员的一些感悟
  18. 手机端有没有好用的图片识别文字工具值得推荐?
  19. 在.NET 6中可以期待什么
  20. 想要实验结果准确?玻璃器皿清洗方法和要点你可得知道!

热门文章

  1. C++ 找朋友(friends)
  2. 光速不变原理引发的诡异现象与时空分量的解释
  3. 【软件设计师】知识点总结
  4. 学习云计算为什么先学Linux?
  5. 微信红包封面,你真的领取到了吗?
  6. 一次网络丢包问题排查的经历
  7. Excel图表美化—表格美化
  8. 编程语言的分类与关系
  9. 常见容错机制:failover、failback、failfast、failsafe
  10. java库的使用--Failsafe