java:记一次因时区导致出参和入参时差8小时前因后果
本来是开开心心敲代码的一天,结果今天早上闲来无事去服务器查看下数据,咦,数据好像早于现实时间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小时前因后果相关推荐
- mysql存储过程出参和入参_数据库mysql存储中的入参出参理解
在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的.有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解.我们把出参和入参看成输入和输出的意思就可以了.想必这样说大家 ...
- 【笔记】Spring MVC拦截入参、出参实现入参解密,出参加密统一管理
需求:为提高接口的安全性,对数据传输加密. 前提:Controller层使用@RequestBody接收入参,@ResponseBody出参 入参解密 package com.sep6th.base. ...
- java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值
正常情况下,在Java中入参是不建议用做返回值的.除了造成代码不易理解.语义不清等问题外,可能还埋下了陷阱等你入坑. 问题背景 比如有这么一段代码: @Named public class AServ ...
- spring入参为指定值,校验java入参的值为规定的值,利用Validator指定值校验注解——一看就会
我们在使用spring项目的时候,经常使用@Valid来对入参进行校验,比如必须为空,必须不为空,长度多少,是否符合邮件格式等等,同时也可以正则. 如下图所示, @Null(message = &qu ...
- 函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码
简介: 本文会以惰性加载为例一步步介绍函数式编程中各种概念,所以读者不需要任何函数式编程的基础,只需要对 Java 8 有些许了解即可. 作者 | 悬衡 来源 | 阿里技术公众号 本文会以惰性加载为例 ...
- java10个基础错误_我们处理了10亿个Java记录的错误-这是导致97%的错误的原因
java10个基础错误 97%的记录错误是由10个唯一错误引起的 在2016年,一件事在30年内没有改变. 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除. 由于某些未知原因,我们隐式信任日志 ...
- 我们处理了10亿个Java记录的错误-这是导致97%的错误的原因
97%的记录错误是由10个唯一错误引起的 在2016年,一件事已经30年没有改变了. 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除. 由于某些未知原因,我们隐式地信任日志文件,因为我们认为事 ...
- 1.Java集合框架是什么?说出一些集合框架的优点?
1.Java集合框架是什么?说出一些集合框架的优点? 干货太重,且文字比较多.需要花费时间与耐心细细咀嚼,但是真的能收获到很多. 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector ...
- Java基础学习总结(168)——为什么推荐在RPC的接口中入参和出参都不要使用枚举
前言: 为什么推荐在RPC的接口中入参和出参都不要使用枚举.最近,我们的线上环境出现了一个问题,线上代码在执行过程中抛出了一个IllegalArgumentException,分析堆栈后,发现最根本的 ...
- java好的代码_做java软件工程师,怎样才能写出好的代码?
原标题:做java软件工程师,怎样才能写出好的代码? Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看 ...
最新文章
- 在Ubuntu14.04安装F.lux
- 隆重介绍!一款新型基于姿势的人像实例分割框架
- 检查值是否是JavaScript中的对象
- win8 explorer 进程频繁奔溃的原因及处理
- 机器人演唱邓丽君是真的吗_体验官|炒菜机器人真的实用吗
- boost::stl_interfaces::detail相关的测试程序
- 使用PyCharm定义QQ变量
- c语言中调用平均成绩,C语言、用调用函数、输入3个学生5门课程的成绩分别用函数求每个学生平均分每门课的平均分...
- python写文件flush_python读写文件write和flush
- PEB标记反调试方法
- ant接口用什么天线_拆解测量真假钻石手台天线SRH805S
- 传输层协议介绍(深入学习)
- JS动态添加元素绑定点击事件,触发事件多次执行问题?
- Vue项目调用扫一扫功能 亲测好用!!!
- windows打印服务器
- activity工作流引擎
- 转载精品:工作8年的普通专科生程序员的一些感悟
- 手机端有没有好用的图片识别文字工具值得推荐?
- 在.NET 6中可以期待什么
- 想要实验结果准确?玻璃器皿清洗方法和要点你可得知道!