本文介绍在Linux命令行中设置/更改时间、日期和时区的方法,支持主要Linux发行版,例如CentOS、Redhat(RHEL)、Fedora、Ubuntu、Debian、Mint和openSUSE。其实在图形界面中设置更简单,但是如果操作系统没有安装图形界面,那就只能在命令行/终端中进行设置。注:以下数据仅供参考,请根据自己所在的地区、日期及时间灵活设置。
前言
如果您在安装Linux操作系统时错过了设置正确的时区、日期和时间。不用担心,它可以随时更改。
如果我们从某些提供商那里购买服务器,而他们可能已经根据其位置设置了时区。举例来说,如果您从美国购买服务器,则他们将根据其GEO位置来构建系统。如果是这样,请放心,您可以使用以下命令,根据需要简单地更改时区和日期格式。
在本文中,我介绍了所有主要Linux发行版的可行方法。
以下文件属于Linux上的时区:
/usr/share/zoneinfo:此目录包含时区文件。
/etc/localtime:此文件是时区文件的符号链接。
/etc/timezone:该文件在基于Debian的系统上保存时区名称。
/etc/sysconfig/clock:此文件在基于RHEL的系统上保存时区名称。
1、如何在Linux中查看当前日期、时间和时区信息?
使用以下命令检查Linux系统中的当前日期、时间和时区信息。
检查当前系统日期和时间:
# date
Sun Mar 1 09:32:38 CDT 2020
以UTC格式显示当前系统日期和时间:
# date -u
Sun Mar 1 14:32:54 UTC 2020
运行以下命令以显示硬件时钟(RTC):
# hwclock --show
Sun 01 Mar 2020 14:33:13 PM UTC -1.027744 seconds
在SysVinit系统上检查时区:
# date
Sun Mar 1 09:32:38 CDT 2020
[For Details]
# ls -lh /etc/localtime
lrwxrwxrwx. 1 root root 37 Feb 28 06:08 /etc/localtime -> ../usr/share/zoneinfo/America/Chicago
对于systemd systems,使用timedatectl命令可查看详细信息:
# timedatectl
2、如何在SysVinit系统中设置/更改日期和时间?
在Linux SysVinit系统中,根据需要使用以下命令设置或更改时间和日期,如果您需要区域设置,则可以进行相应设置。
常用语法:
# date --set="STRING"
要一次性设置新的日期和时间,请使用以下格式:
# date --set="1 Mar 2020 11:30:00"
Sun Mar 1 11:30:00 CDT 2020
您可以再次通过运行date命令再次确认这一点:
# date
Sun Mar 1 11:30:04 CDT 2020
要仅设置时间,请使用以下格式:
# date +%T -s "10:00:00"
10:00:00
要仅设置日期,请使用以下格式:
# date +%Y%m%d -s "20200301"
20200301
# date
Sun Mar 1 00:00:02 CDT 2020
设置语言环境的时间:
# date +%T%p -s "01:15:00AM"
01:15:00AM
要将硬件时钟设置为本地时间:
# hwclock --set --date="2020-03-01 11:30:00" --localtime
要将硬件时钟设置为UTC时间:
# hwclock --set --date="2020-03-01 11:30:00" --utc
3、如何在systemd系统中设置/更改日期和时间?
在Linux systemd系统中,根据需要使用以下命令设置或更改时间和日期。
常用语法:
# timedatectl set-time YYYY-MM-DD HH:MM:SS
若要一次更改新的日期和时间,请使用以下格式:
# timedatectl set-time '2020-03-01 08:30:10'
要仅设置时间,请使用以下格式:
# timedatectl set-time '09:45:20'
要仅设置日期,请使用以下格式:
# timedatectl set-time '2020-03-01'
使用以下格式设置RTC时间:
# timedatectl set-local-rtc 0
4、如何在systemd系统中更改TimeZone?
对于systemd系统,请使用timedatectl命令更改时区:
$ sudo timedatectl set-timezone America/Chicago
如果是在中国,则为亚洲/上海:
$ sudo timedatectl set-timezone Asia/Shanghai
如果要重新启动timedatectl服务,请使用以下命令:
# systemctl restart systemd-timedated
运行以下命令以验证新的时区:
# timedatectl
5、如何在RHEL 6/CentOS 6系统中更改时区?
对于RHEL/CentOS系统,请使用以下命令更改时区:
# unlink /etc/localtime
# ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
注:请注意根据自己的时区来更改America。
运行以下命令以检查RHEL/CentOS系统中的新时区:
# date
Sun Mar 01 04:17:00 PST 2020
# ls -lh /etc/localtime
lrwxrwxrwx. 1 root root 39 Feb 28 10:45 /etc/localtime -> /usr/share/zoneinfo/America/Los_Angeles
相关主题