时间和时区
时间是一个瞬间的概念,体现在计算机中可以理解成UNIX时间戳,目前精确的时间源是参考原子钟的震荡频率,然后进行全球同步。常用ntp来进行时间的同步。
由于地球旋转导致不同地域的人看到的日出日落的时间不同,根据地球的地理位置,人为将地球划分成24个不同的时区。
计算机中经常看到的是UTC时间标准(UTC: Coordinated Universal Time),他是0时时区标准。中国时区(CST: Chinese Standard Time)相对于0时时区是东八区。
例如某一时刻
- Unix时间戳:
[root@VM_11_7_centos ~]# date +%s
1496217462
- UTC时区时间:
[root@VM_11_7_centos ~]# date -u
Wed May 31 07:57:42 UTC 2017
- CST时区时间:
[root@VM_11_7_centos ~]# date
Wed May 31 15:57:42 CST 2017
设置系统时区
在Linux下glibc提供了我们事先编译好的许多timezone文件, 他们就放在/usr/share/zoneinfo这个目录下,这里基本涵盖了大部分的国家和城市
Unix时间戳根据时区转换成不同时区的时间
查看对于每个time zone当前的时间我们可以用zdump命令
zdump Hongkong
配置系统时区
-
1.修改时区文件
/etc/localtime,将/usr/share/zoneinfo中的文件复制为该文件,或者localtime文件链接到zoneinfo中的某个文件 -
2.修改TZ环境变量
tzselect
当TZ变量没有定义的时候系统才使用/etc/localtime来确定time zone. 所以你想永久修改time zone的话那么可以把TZ变量的设置写入/etc/profile里