Linux时区设置详解:如何正确配置格林威治时间? (linux 时区格林威治)

在Linux系统中,时区配置是非常重要的一项设置。时区的错误配置会导致系统时间不准确,对于一些要求时间精确度较高的操作,如日志记录、安全审计等,时区的正确配置更是必要的。本文将详细介绍Linux下如何正确配置格林威治时间。

一、了解时区

时区是一个地球科学和计量学上的概念,为了方便人类在地球不同地区的交流和协调,将地球以经线分为24个时区并按照经度排序,每个时区的时间都比前一个时区早1小时,有些时区的时间区间甚至跨越了国界,如中国的东八区和的东七区。Linux系统默认使用格林威治标准时间(GMT,Greenwich Mean Time)作为基准时间,并根据不同的时区做出调整,以显示与本地实际时间相符的时钟。因此,在Linux系统中设置时区,需要先了解本地所处的时区。可以通过命令“`timedatectl list-timezones“`查看系统支持的时区列表。

二、检查当前时区配置

在配置之前,需要先检查系统当前的时区配置,可以使用命令“`timedatectl“`查看,如下所示:

“`

$ timedatectl

Local time: Fri 2023-09-17 15:22:21 CST

Universal time: Fri 2023-09-17 07:22:21 UTC

RTC time: Fri 2023-09-17 07:22:22

────SNIP────

Timezone: Asia/Shangh (CST, +0800)

System clock synchronized: yes

NTP service: active

RTC in local TZ: no

“`

可以看到,我的系统处于Asia/Shangh时区,也就是东八区。

三、修改时区

如果需要更改时区配置,可以使用“`timedatectl set-timezone “`命令进行修改,其中,应替换为目标时区,如下所示:

“`

$ sudo timedatectl set-timezone America/New_York

“`

执行完该命令后,系统时区即更改为美国纽约所处的东部时间。修改之后,再次执行“`timedatectl“`命令,可以发现时区已更改:

“`

$ timedatectl

Local time: Fri 2023-09-17 03:25:45 EDT

Universal time: Fri 2023-09-17 07:25:45 UTC

RTC time: Fri 2023-09-17 07:25:46

────SNIP────

Timezone: America/New_York (EDT, -0400)

System clock synchronized: yes

NTP service: active

RTC in local TZ: no

“`

四、手动配置时区

在某些场景下,我们可能需要手动配置时区,以使系统时间更加准确。可以使用以下步骤手动设置系统时区:

1. 登录系统后台。

2. 执行以下命令备份当前时间配置:

“`

$ sudo mv /etc/localtime /etc/localtime.bak

“`

3. 执行以下命令指定时区:

“`

$ sudo ln -s /usr/share/zoneinfo/Zone/SubZone /etc/localtime

“`

其中,Zone表示地区,SubZone表示子时区,如Asia/Shangh。

4. 执行以下命令查看时区配置,是否已正确更新:

“`

$ timedatectl

“`

五、

相关问题拓展阅读:

Linux使用ntpd同步时间问题求助

之一条命令,时间同步的结果是调整了-0.005236秒,这当然不是明显的时间变化

第二条命令,显示了系统时钟和硬件时钟相差-0.282976秒这也是正常的,没有问题

所以看来你的时间基本准确,时间同罩数兆步不会产生明显的变化.

你关心的应该是另一个网友提到的时区问题,你现在用的是EST也就是北美东部时间(GMT-5,比格林威治标准时间晚5个小时,每年3月的第二个周日到11月之一个周日使用夏令时,时钟物租往前一小时),本地使用的话应该改成中国标准时间(GMT+8,比格林威治标准时间早8个小时,没有夏令时),修改的话很简单网友已经提供了

cp

/usr/share/zoneinfo/Asia/Shanghai

/etc/localtime

然后logout再login就会显示你熟悉的时间了,系统时钟本身没有调整,但是毕旅从显示纽约时间变成了本地时间

linux虚拟机时间与windows时间如何同步

要让虚拟机的linux和实际时间一致,最简单的步骤是:

(1)将虚拟机linux和主机时间同步,可以先在虚拟机的设置里面-选项-VMware Tools开启客户机与主机时间同步(其实默认就开的)

(2)开启了时数念间同步但是还是和实际时间不一样,那么可能是时区设置不对,这时最简单的方法是进入系统的图形界面,点击右上角的时间,进入时间、时区设置(和window设置耐毕老时间差不多),edit location,add location,城市输入shanghai或者beijing,等它自动识别(前提是虚拟机系统联网了)。最后重启系统!

注意:也可以从菜单进入system->administration->date&time设置

(3)如果只是虚拟机系统的时间和实际的时间相差16个小时则可以按照下面介绍的方法设置

系统启动后发现时间显示问题:

# date

Sat Mar 7 08:58:27 PST 2023

其实现在是北京时间 2023年3月8日00:58,相差16个小时。

网上搜索一下PST时间,原来PST时间为美国太平洋标准时间,此时区位于格昌升林威治向西8个时区,晚北京时间16个小时。

发现 /etc/sysconfig/clock 文件配置的是美国时间:

# cat /etc/sysconfig/clock

ZONE=”America/Los_Angeles”

UTC=true

ARC=false

UTC为true表示RTC保存的时间是UTC时间,false表示保存的是本地时间。

于是将其修改为:

# cat /etc/sysconfig/clock

ZONE=”Asia/Shanghai”

UTC=false

ARC=false

重启系统后问题依旧!于是想到了 locale

# locale

LANG=en_US.UTF-8

LC_CTYPE=”en_US.UTF-8″

LC_NUMERIC=”en_US.UTF-8″

LC_TIME=”en_US.UTF-8″

LC_COLLATE=”en_US.UTF-8″

LC_MONETARY=”en_US.UTF-8″

LC_MESSAGES=”en_US.UTF-8″

LC_PAPER=”en_US.UTF-8″

LC_NAME=”en_US.UTF-8″

LC_ADDRESS=”en_US.UTF-8″

LC_TELEPHONE=”en_US.UTF-8″

LC_MEASUREMENT=”en_US.UTF-8″

LC_IDENTIFICATION=”en_US.UTF-8″

LC_ALL=

# cat /etc/sysconfig/i18n

LANG=”en_US.UTF-8″

SYSFONT=”latarcyrheb-sun16″

修改后为:

# cat /etc/sysconfig/i18n

LANG=”zh_CN.UTF-8″ /* 英文环境可以改成zh_US.UTF-8 */

SYSFONT=”latarcyrheb-sun16″

保存退出再次登陆执行date

# date

2023年 03月 07日 星期六 09:13:44 PST

如果上面的是设置不行,尝试一下下面的命令:

还是显示PST时间,

# rm /etc/localtime

关于linux 时区格林威治的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux时区设置详解:如何正确配置格林威治时间? (linux 时区格林威治)