时区不一致与UTC时区设置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时区传说之谁惹得祸
--java日志时间与系统时间不一致
话说“UTC变法”最终取得了胜利,一统时区天下,而PDT在消亡前却也种下了一粒毒丸,故事就是这样开始的。
“报告UTC指挥,在A1的M1模块上发现了PDT残留“,“医疗官,请速度配合前去处理,这是给你的Ticket”,“是,长官”。话音不久,在M会议分析后来到了online。
“系统登录BASH操作器开启”,报告
“发现敌情:Z1战区发现ZZ1/2/3区域都有异常,
但五大区域的最后一块ZZ4正常,据侦测:A1系统日志时区正常,系统配置/etc/localtime校验OK,而M1另外两大分部M2与 M3上均也正确,通过分析发现A1上的JDK版本是
1.6.0_xx,其它是1.6.0_yy,从INTERNET博士那初步了解JVM有设置时区的方法,如:System.setProperty("user.timezone","Asia/Shanghai") ;TimeZone.setDefault(zone)等”。
”这块区域是我负责的,我认为与版本关系不大,online的代码中也没有指定时区,麻烦你们再从博士那了解了解“,”是,长官“。
“|报告,问题已找到,是由于/etc/timezone配置中仍然残留PDT导致,修改为UTC后ZZ1/2/3区域都已恢复正常。”
“幸苦了,请代我向指挥转达谢意”。
故事讲完了,让我们回到现实来,分析总结下:
1.为什么要用UTC时区
∙环境需要:如要维护多国环境如中美,时区一致便与维护
∙避免风险:避免PDT时区换算出错,如下
PDT转换成北京时间时要考虑月份:每年3月的第二个星期日到11月的第一个星期日期间和北京时间差15小时,其余月份和北京时间差16小时
2.为什么BIOS时区要设置成UTC
减少系统运算开销:减少频繁地从本地时间换算成UTC时间的运算开销
4.如何设置UTC时区
∙Debian 或 Ubuntus
系统时区:
/etc/localtime :可以拷贝或链接从/usr/share/zoneinfo
/etc/timezone :修改为UTC
BIOS时区:
/etc/default/rcS:修改UTC=yes
∙CentOS/Fedora/RHEL
系统时区:
/etc/localtime :可以拷贝或链接从/usr/share/zoneinfo
BIOS时区:
/etc/sysconfig/clock:修改UTC=true(若无可以创建)
∙WINDOWS
通常由程序自己设定,具体参考/kb/888253/zh-cn
备注:也可以注册表:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zone
4.设置UTC时区会有隐患吗
通常没有,但是多系统启动环境可能有影响
案例:windows 2003 server 与 Linux server 并存,双启动
风险:Windows Vista 或以前的系统一直认为硬件时钟的时区假定为您所属时区,因此当切换到Windows时,时间就会错误。