How does the Linux system check the time zone where the settings are located?

Reprinted from:
https://blog.csdn.net/huangjin0507/article/details/46368623

2. How to check the time zone of the Linux system?

Method 1: Use the date command to view the time zone

[root@db-server ~]# date -R

Sun, 11 Jan 2015 07:10:28 -0800

As shown in the RFC 2822 format above, the above command outputs -0800 to represent the West Eighth District, which is the time zone where San Francisco is located, and the following represents the East Eighth District of our country (+0800)

[root@lnx01 ~]# date -R

Sun, 11 Jan 2015 23:06:02 +0800

Method 2: View the clock system configuration file

[root@db-server ~]# more /etc/sysconfig/clock
ZONE=”America/Los_Angeles”
UTC=true
ARC=false
As shown above, it means that the time zone set by the system is “America/Los_Angeles”, which is West Eight Area.

3. How does the Linux system set the time zone where the system is located?

Method 1: There are many time zone files under /usr/share/zoneinfo/, you can copy these time zone files to overwrite the /etc/localtime file:
[root@db-server ~]# date -R
Mon, 12 Jan 2015 10:42: 26 +0800
[root@db-server ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@db-server ~]# date -R
Sun, 11 Jan 2015 18:42:49 -0800
[root@db-server ~]#

Method 2: Modify the time zone file of the link /etc/locatime:
[root@db-server ~]# ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ln: creating hard link /etc/localtime' to/usr/share/zoneinfo/Asia/Shanghai’: File exists

[root@db-server ~]# rm /etc/localtime

rm: remove regular file `/etc/localtime’? y

[root@db-server ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@db-server ~]# date -R

Mon, 12 Jan 2015 10:56:10 +0800

Method 3: Use tzselect to set the timezone

For example, set the system time zone to Dongba District (Beijing time)

[root@db-server ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.

? 5

Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan

? 9

Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang

? 1

The following information has been given:

    China
    east China - Beijing, Guangdong, Shanghai, etc.

Therefore TZ=’Asia/Shanghai’ will be used.
Local time is now: Sun Jan 11 23:31:51 CST 2015.
Universal Time is now: Sun Jan 11 15:31:51 UTC 2015.
Is the above information OK?
1) Yes
2) No

? yes

Please enter 1 for Yes, or 2 for No.

? 1

You can make this change permanent for yourself by appending the line
TZ=’Asia/Shanghai’; export TZ
to the file ‘.profile’ in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
Note: The tzselect command only tells you how to write the selected time zone, it will not take effect. So now it is not Beijing time in the East 8th district. You can set the correct TZ environment variable in .profile, .bash_profile or /etc/profile and export. For example, set TZ='Asia/Shanghai' in .bash_profile; export TZ and make it take effect.

[root@db-server ~]# source .bash_profile

[root@db-server ~]# date

Sun Jan 11 23:37:40 CST 2015

[root@db-server ~]# date -R
Mon, 12 Jan 2015 10:42:26 +0800
[root@db-server ~]# cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
cp: overwrite /etc/localtime’? y [root@db-server ~]# date -R Sun, 11 Jan 2015 18:42:49 -0800 [root@db-server ~]# /etc/localtime'? y
[root@db-server ~]# date -R
Sun, 11 Jan 2015 18:42:49 -0800
[root@db-server ~]#
[root@db-server ~]# date -R
Mon, 12 Jan 2015 10:42:26 +0800
[root@db-server ~]# cp /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
cp: overwrite



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325686532&siteId=291194637
Recommended