CentOS7修改时区的正确姿势
今天在CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。
正确的修改CentOS7 时区的姿势:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
1
其他系统的修改文件可能是/var/etc/localtime.
错误的姿势,通过cp命令覆盖/etc/localtime时间。
我就是通过百度的结果修改的,导致了悲剧发生。
通过cp命令修改时区,通过date, data -R命令显示的时区都是正确的,可是对于java程序而言,是错误的,具体原因在于Java访问系统时区的方式上,可参见文章:Java TimeZone 和 Linux TimeZone问题。
该文章很好的说明了Java访问系统时区的方式:
1. 如有环境变量 TZ设置,则用TZ中设置的时区
2. 在 /etc/sysconfig/clock文件中找 “ZONE”的值
3. 如何2)都没,就用/etc/localtime 和 /usr/share/zoneinfo 下的时区文件进行匹配,如找到匹配的,就返回对应的路径和文件名。
问题在于,如果使用cp命令来修改/etc/localtime文件,那么可能就会导致修改的不是/etc/localtime文件,而是原时区的文件内容.
/etc/localtime是通过符号链接链接/usr/share/zoneinfo下的文件,而java是通过文件名来确认时区的,data命令是通过文件内容确认时区的,这样就导致了data命令时区正确,而java的时区是错误的.

如上图所示:CentOS7是通过符号链接到/usr/share/zoneinfo/下的时区文件的,如果通过cp指令只会修改原时区文件内容,这样,通过date的系统命令,查看时间是OK的,可是java是通过读取文件名的方式确认时区信息的。所以时区还是纽约。

CentOS7修改时区的正确姿势相关推荐

  1. CentOS7修改时区,你会吗?

    查看时区ls -l /etc/localtime EDT是指美国时区 CST是中国的时区 修改时区 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/loca ...

  2. Linux修改时区的正确方法

    CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ll /etc/localti ...

  3. CentOS7修改时区和时间

    1.查看系统时间 timedatectl 2.设置中国时区 timedatectl set-timezone Asia/Shanghai 3.修改时间 #方式1 date -s "20220 ...

  4. centos7安装redis的正确姿势

    目前redis5已经发布,Redis 5 是 Redis 引入流数据类型(Stream data type)的第一个版本.按照官方的说法,不使用该特性的用户在生产环境中使用 Redis 5 会有更好的 ...

  5. Centos7修改时区、时间

    timedatectl 查看时间信息 [root@vtlee ~]# timedatectlLocal time: Fri 2020-12-11 01:19:07 ESTUniversal time: ...

  6. CentOS7安装bbr的正确姿势:更新到7.3,安装elrepo官方4.9正式版

    2019独角兽企业重金招聘Python工程师标准>>> 1:首先yum update -y更新到最新CentOS 7.3 1611 cat /etc/redhat-release C ...

  7. linux系统修改时区

    linux修改时区且设置24h格式 修改时区基本命令: timedatectl list-timezones #列出所有时区 timedatectl | grep local # 确定硬件时钟是否设置 ...

  8. Centos7系统启动盘的正确安装姿势

    Centos7系统启动盘的正确安装姿势 一.资源准备 1.一个大于等于8G的u盘 2.Centos镜像(下载链接) 3.UltraISO软件(软件官网) 二.启动盘制作 下载好Centos镜像,以及U ...

  9. 困扰的问题终于解决了-docker时区不正确的问题修改记

    困扰的问题终于解决了-docker时区不正确的问题修改记 参考文章: (1)困扰的问题终于解决了-docker时区不正确的问题修改记 (2)https://www.cnblogs.com/luoden ...

最新文章

  1. udp,tcp软件udp客户端发消息,udp服务器收不到,C#网络编程,多级路由间,UDP发送消息客户端接收不正常?...
  2. leetcode算法题--统计全为 1 的正方形子矩阵
  3. docker容器内部使用vim
  4. golang.org/x/lint安装失败
  5. python requests text content_对python requests的content和text方法的区别详解
  6. html json编辑器,JSON.html HTML Editor
  7. RPGMAKER游戏引擎基于JavaScript的插件制作(一)——前期准备以及RPGMAKER内建逻辑
  8. 1.9 LaTex边注与脚注
  9. java 将5mb以内图片压缩至200kb以下
  10. 揭秘如何搭建梦幻西游社交框架
  11. HCIE-Routing Switching认证
  12. 多看系统下载_看了辣么多的圣诞蛋糕,出事儿了吧?学吧——来自KA·MM店内的马卡拉劈柴蛋糕(已打包·可下载)...
  13. TransactionScope使用(二)——msdtc不可用
  14. 重磅!谷歌发布《深度学习调优手册》!Hinton转发点赞!
  15. 谈谈google news
  16. Apache Flink 集成 Apache Hudi 快速入门指南
  17. 【STM32】MDK点 Reset and Run 还是要点复位的运行解决方案
  18. steam解锁未购买游戏工具
  19. Java微信企业(批量)转账到零钱(超详细)
  20. 博客园登录页面html,打造自己的博客园页面

热门文章

  1. 用户触达方式及用户触达渠道选择
  2. vue项目使用xgplayer西瓜视频播放器
  3. 木棉花开,送给所有女孩和女人
  4. 代码编码格式,文件格式批量转换工具
  5. 3D重构基础四--Planar Homography Epipolar Geometry
  6. 榆熙电商:商家们运营新店铺应该从哪些方面入手?
  7. 裸辞2个月找不到工作,我慌了
  8. (原)让win8开机自动进行宽带连接
  9. Stream方法使用
  10. PAT:06-图3 六度空间