Linux时区date相关:修订间差异
来自三线的随记
小无编辑摘要 |
小无编辑摘要 |
||
第33行: | 第33行: | ||
"如果采用直接cp的方法修改系统时区,那么就会把它所链接的文件修改掉,例如把美国的时区文件内容修改成了上海的时区内容,有可能会导致有些编程语言或程序在读取系统时区的时候发生错误(例如 java)" | "如果采用直接cp的方法修改系统时区,那么就会把它所链接的文件修改掉,例如把美国的时区文件内容修改成了上海的时区内容,有可能会导致有些编程语言或程序在读取系统时区的时候发生错误(例如 java)" | ||
ps:其实当你执行完 timedatectl set-timezone 你可以发现,其实 timedatectl set-timezone 执行的操作就是 ln -s | |||
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime | cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
2019年11月18日 (一) 17:41的最新版本
main commands
date
临时变更时区commands:
- TZ=Asia/Shanghai date
- export TZ=Asia/Shanghai && date
时区相关术语 or configure
CST
HKT
Asia/Shanghai
Asia/Chongqing
Asia/Hong_Kong
Permanent
方案1
timedatectl list-timezones |grep Shanghai
timedatectl set-timezone Asia/Shanghai
方案2
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
!不建议的方案!
直接cp改写/etc/localtime
原因: /etc/localtime在某些发行版系统是软链接,直接cp会修改link target
"如果采用直接cp的方法修改系统时区,那么就会把它所链接的文件修改掉,例如把美国的时区文件内容修改成了上海的时区内容,有可能会导致有些编程语言或程序在读取系统时区的时候发生错误(例如 java)"
ps:其实当你执行完 timedatectl set-timezone 你可以发现,其实 timedatectl set-timezone 执行的操作就是 ln -s
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ps
[root@centos7 ~]# timedatectl status Local time: Mon 2019-11-18 17:35:51 CST Universal time: Mon 2019-11-18 09:35:51 UTC RTC time: Mon 2019-11-18 09:35:51 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a