三战时区问题

news2024/11/15 18:05:00

一、前言

       前两天测试向我反馈生产环境挖机进口日期页面上展示的比数据库中存储的早了一天,但在测试环境是正常的,并且其它时间字段都没有任何问题,很是奇怪,安排开发排查没有头绪,然后我自己登录生产环境确认LInux系统都统一为UTC时区,MySQL测试环境是UTC,但生产环境默认是东八区,将生产环境MySQL设置为UTC问题即解决,当时比较忙也没仔细多想,今天有时间就重新把问题重现梳理一下。

注1:这又是阿里云的一个坑,我是在阿里云国际站买的RDS实例区域为悉尼,为何时区设置为东八区,这个太没道理了,顺便吐槽一下,阿里云国内和国外是不同团队负责,阿里云国内站不支持外国公司开账号,搞得我们现在既有阿里云国内账号买了国内区域的也买了澳洲的,然后国际站也开了账号买了澳洲的设备。

注2:一般我们系统中日期都是使用long类型存储时间戳, 这样只需要在展示时根据当前所在区域进行转换为对应时区即可。

1、跨时区系统设计方案

2、时区调整害了Crontab

二、场景重现

1、Linux系统时区设置为UTC.

设置前:东八区

设置时区软链

ln -sf /usr/share/zoneinfo/UTC /etc/localtime

设置后:国际标准时间,英国格林威治标准时间(子午线)

2、MySQL数据库

time_zone为08:00 表示东八区,

在表test_utf中存入一条数据,arrivalDate写入2022-08-13

3、使用JDBC直接连接测试

用命令

java -classpath mysql-connector-java-8.0.13.jar TestUTC.java

执行后输出如下:

arrivalDate = 2022-08-12

4、解决方案

1、数据库时区还是使用东八区,Linux时区还是UTC不变,在数据库连接上加上参数serverTimezone=UTC,这样执行后 arrivalDate = 2022-08-13 可解决问题。

2、直接将数据库时间变更为UTC,set global time_zone = '+0:00'; 也可解决问题。

3、使用rs.getString()方法获取日期的值,返回的也是arrivalDate = 2022-08-13 亦能解决问题。

注:系统中使用MyBatis通过类映射返回数据,但底层原理是一样的,还是因为数据库驱动的造成时区问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

别再瞎考证了,从事网络安全工作,这五大证书是加分项!

其他行业,对证书的要求可能并不明显,但在信息安全类的岗位中,大部分招聘信息中明确标明持有NISP、CISP等网络安全相关资质证书优先等。因此想要快速进入网络安全行业,通过学习并考取相关证书,是一个很不错的途径。 那么…

flutter开发实战-Universal Links配置及flutter微信分享实现

flutter开发实战-Universal Links配置及flutter微信分享实现 在最近开发中碰到了需要实现微信分享,在iOS端需要配置UniversalLink,在分享使用fluwx插件来实现微信分享功能。 一、配置UniversalLink 1.1、什么是UniversalLink Universal link 是Apple…

Vue中的router路由的介绍(快速入门)

路由的介绍 文章目录 路由的介绍1、VueRouter的介绍2、VueRouter的使用(52)2.1、5个基础步骤(固定)2.2、两个核心步骤 3、组件存放的目录(组件分类) 生活中的路由:设备和ip的映射关系(路由器) V…

管网水位监测仪:井下水位监测的创新者

随着城市化进程的不断推进,城市排水管网系统的完善和安全运行越来越受到社会和政府的关注。近期,国家加大了对城市基础设施建设的投入力度,推动了排水管网系统的升级和改造。在这样的背景下,万宾科技推出了一款全新的产品——管网…

canvas力导布局

老规矩&#xff0c;先上效果图 <html><head><style>* {margin: 0;padding: 0;}canvas {display: block;width: 100%;height: 100%;background: #000;}</style> </head><body><canvas id"network"></canvas> </…

1600*C. k-Tree(DP)

Problem - 431C - Codeforces 解析&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int mod1e97,N110; int n,k,d,dp[N][2]; signed main(){scanf("%lld%lld%lld",&n,&k,&d);dp[0][0]1;for(int i1;i<n;…

Elasticsearch基础篇(四):Elasticsearch的基础介绍与索引设置

Elasticsearch的基础介绍与索引设置 一、Elasticsearch概述Elasticsearch简介什么是全文检索引擎Elasticsearch 应用案例 二、索引和文档的概念1. 索引&#xff08;Index&#xff09;2. 文档&#xff08;Document&#xff09; 三、倒排索引&#xff08;Inverted Index&#xff…

2.3 为何使用Pthreads

轻量 和进程相比&#xff0c;系统在创建和管理线程时的开销要小的多&#xff0c;这里通过比较调用fork()创建进程和pthread_create()创建线程时的耗时开销来说明。下表中的耗时为执行了50000次创建操作对应的耗时&#xff0c;单位为秒。 注意&#xff1a;由于是在具有多核的对称…

Pro有Pro的样,但适合是最好的!iPhone 15与15 Pro应该买哪一款

你正在考虑升级到最近发布的iPhone 15系列,但你不确定你应该选择iPhone 15还是iPhone 15 Pro。以下是两款手机的功能以及高级Pro升级功能。 从性能和摄像头功能到设计和定价,我们正在挖掘每一个差异,以便你能够根据自己的需求和预算选择最佳手机。 iPhone 15与iPhone 15 P…

el-form简单封装一个列表页中的搜索栏

父组件如何使用 代码中注释很多, 应该很容易理解 <template><div><wgySearchv-model"searchDefault":fields"searchFields"reset"reset"submit"submit"><!-- 通过 slot 自定义的组件 传啥都行 --><te…

段码屏学习

文章目录 1.液晶屏和OLED屏2.液晶屏原理3.码段屏原理4.单色点阵屏原理5.彩色点阵屏原理6.HT1621驱动LCD段码屏 1.液晶屏和OLED屏 答&#xff1a; 液晶屏&#xff1a;码段屏、单色点阵屏、彩色点阵屏。 OLED屏&#xff1a;消费类电子产品多&#xff0c;贵。 2.液晶屏原理 …

三相智能电表逆相序的原因及解决方法

随着电力系统的快速发展&#xff0c;智能电表已逐渐替代传统电表&#xff0c;成为我国电力系统的重要组成部分。在众多类型的智能电表中&#xff0c;三相智能电表以其高精度、稳定性和智能化程度&#xff0c;被广泛应用于工商业及居民用电领域。然而&#xff0c;在使用过程中&a…

许战海战略文库|主品牌老化:企业增长面临的关键挑战

在今天&#xff0c;大部分行业的竞争环境已经从匀速变化迭代为加速变化&#xff0c;主品牌老化成为企业增 长面临的重要挑战&#xff0c;这一点已经变得非常明显。技术革新、产业革命以及顾客需求的演变势不 可挡&#xff0c;跨周期竞争已经成为常态。在这种情况下&#xff0c;…

传统但是很简单的计算Renko大小方法,FPmarkets1分钟分享

Renko图表是一种经典的技术分析工具&#xff0c;其计算方法较为传统。交易者通常需要手动设置以点数表示的常量值来确定Renko砖块的大小。 今天FPmarkets1分钟分享&#xff0c;传统但是很简单的计算Renko大小方法&#xff0c;不用指标&#xff0c;就可以使用Excel电子表格来计…

北京怎么开股票账户?哪家证券公司股票开户佣金最低?

北京怎么开股票账户&#xff1f;哪家证券公司股票开户佣金最低&#xff1f; 开设股票账户可以去证券营业部或者线上找客户经理进行开户具体步骤如下&#xff1a; 准备好本人有效身份证明证件&#xff08;如居民身份证、护照等&#xff09;及银行卡。 填写开户申请表&#xff…

亚马逊,速卖通,敦煌产品测评补单攻略:低成本、高安全实操指南

随着电商平台的发展和消费者对产品质量的要求提升&#xff0c;测评补单成为了商家们提升销售和用户口碑的关键环节。然而&#xff0c;如何在保持成本低廉的同时确保操作安全&#xff0c;一直是卖家们面临的挑战。今天林哥分享一些实用的技巧和策略&#xff0c;帮助卖家们产品的…

docker 安装 neo4j

1. 安装所需的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 2. 设置阿里云仓库(国内仓库稳定) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3. 查看docker容器版本 yum list docker-ce --showdupl…

小白看得懂的 Transformer (图解)

来源&#xff1a;Python数据科学 来源&#xff1a;Python数据科学本文约7200字&#xff0c;建议阅读14分钟在本文中&#xff0c;我们将研究Transformer模型&#xff0c;理解它的工作原理。1.导语 谷歌推出的BERT模型在11项NLP任务中夺得SOTA结果&#xff0c;引爆了整个NLP界。…

低代码自动翻页采集山姆商品数据

1 前言 山姆超市以会员经营为主&#xff0c;会员需要向商家购买会员卡才可以获得购物权&#xff0c;享受更多的优惠和折扣&#xff0c;这种模式实际上是通过高质量的商品和服务吸引顾客忠诚度&#xff0c;建立"忠诚顾客"的经营模式。山姆超市的商品销售以大批次和整箱…

401-视频与网络应用篇-网络分层和常见网络协议

常使用的网络有广域网&#xff08;WAN&#xff09;、城域网、局域网&#xff08;LAN&#xff09;&#xff0c;一般我们遇到的场景是广域网和局域网&#xff0c;广域网就是常说的外网&#xff0c;而局域网一般用于学校、公司等场合。在家庭路由器中对应WAN口和LAN口。网络是极为…