如何将linux 的本地时间设置为utc时间

如何将linux 的本地时间设置为utc时间,第1张

如果你的 Linux 系统时区配置不正确,必需要手动调整到正确的当地时区。NTP 对时间的同步处理只计算当地时间与 UTC 时间的偏移量,因此配置一个 NTP 对时间进行同步并不能解决时区不正确的问题。所以大家在用了国外云计算服务商如 Microsoft Azure 或其它 VPS、虚拟机时,需要注意是否与中国大陆的时区一致。

查看Linux当前时区

你可以使用如下命令非常容易地就查看到 linux 系统的当前时区:

date

ls -l /etc/localtime

linux-time02

获取时区TZ值

要更改 Linux 系统时区首先得获知你所当地时区的 TZ 值,使用 tzselect 命令即可查看并选择已安装的时区文件。

执行 tzselect 命令

linux-time03

通过向导选择你所在大洲、国家和城市

tzselect 最终将以 Posix TZ 格式(例如 Asia/Shanghai)输出你所在的时区值,将此记录下来。

linux-time03

更改每个用户的时区

Linux 用户一个多用户系统,每个用户都可以配置自己所需的时区,你可以为自己新增一个 TZ 环境变量:

export TZ='Asia/Shanghai'

执行完成之后需要重新登录系统或刷新 ~/.bashrc 生效。

source ~/.bashrc

更改Linux系统时区

要更改 Linux 系统整个系统范围的时区可以使用如下命令:

sudo rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

注意:/usr/share/zoneinfo/Asia/Shanghai 中的具体时区请用自己获取到的 TZ 值进行替换。

使用Systemd更改Linux系统时区

如果你使用的 Linux 系统使用 Systemd,还可以使用 timedatectl 命令来更改 Linux 系统范围的时区。在 Systemd 下有一个名为 systemd-timedated 的系统服务负责调整系统时钟和时区,我们可以使用 timedatectl 命令对此系统服务进行配置。

sudo timedatectl set-timezone 'Asia/Shanghai'

linux-time05

最后,如果你发现 Ubuntu 与 Windows 双系统时间不同步,可以参考我们之前的文章说明和解决办法。

修改linux的系统时间的方法如下:

1、利用date命令设定系统的日期与时间,语法“date -s "年月日 时:分秒"”。在Linux中,可以利用date命令修改系统时间。date命令可以用来显示或设定系统的日期与时间。例如把date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10。

2、执行“hwclock --systohc”命令保存设置,关机重启。当我们进行完 Linux 时间的校时后,还需要以 hwclock 来更新 BIOS 的时间,因为每次重新启动的时候,系统会重新由 BIOS 将时间读出来,所以, BIOS 才是重要的时间依据呐。

Linux系统时间有两种

日历时间。该值是自协调世界时(UTC)1970年1月1日00:00:00这个特定时间以来所经过的秒数累计值。基本数据类型用time_t保存。最后通过转换才能得到我们平时所看到的24小时制或者12小时间制的时间。

进程时间。也被称为CPU时间,用以度量进程使用的中央处理器资源。进程时间以时钟滴答计算。

1 TIMEDATECTL命令 该命令是作为systemd系统和服务管理器的一部分分发的工具,可以用它来查看和更改系统时钟的配置,包括更改当前的日期和时间、设置时区以及可以激活与远端服务器系统时钟的自动同步,是红帽企业版 7 版本新增的命令。 1.1 展示当前日期和时间 可以使用timedatectl命令来展示当前日期和时间,并且有系统和硬件时钟的配置的详细信息。 [root@strong ~]# timedatectl Local time: Sat 2019-09-21 15:02:27 CST Universal time: Sat 2019-09-21 07:02:27 UTC RTC time: Sat 2019-09-21 07:02:27 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a 1.2 更改当前时间 更改当前时间,命令格式为:timedatectl set-time HH:MI:SS。 该命令同时更改系统时间和硬件时钟,执行结果与使用命令date --set 和hwclock --systohc的效果相同。 [root@strong ~]# timedatectl set-time 20:00:00 [root@strong ~]# timedatectl Local time: Sat 2019-09-21 20:00:04 CST Universal time: Sat 2019-09-21 12:00:04 UTC RTC time: Sat 2019-09-21 12:00:05 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a [root@strong ~]# timedatectl set-time 2019-09-15 [root@strong ~]# timedatectl Local time: Sun 2019-09-15 00:00:03 CST Universal time: Sat 2019-09-14 16:00:03 UTC RTC time: Sat 2019-09-14 16:00:03 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a 仅仅更改日期,时间会变为00:00:00,故更改日期时需把对应的时间加上,例如:timedatectl set-time "2019-09-21 15:16:00"。 1.4 更改时区 1.4.1 列出所有时区 [root@strong ~]# timedatectl list-timezones 1.4.2 更改时区 [root@strong ~]# timedatectl set-timezone Asia/Shanghai 2 DATE命令 该命令在所有Linux系统都可用,用于设置和查看当前日期和时间,常用于脚本中以格式化的形式用于展示系统时间的详细信息。 2.1 展示当前日期和时间 1)不带任何格式展示 [root@strong ~]# date Sat Sep 21 15:24:57 CST 2019 默认展示的是本地时间,以UTC的方式展示,需使用date --utc或date -u。 [root@strong ~]# date --utc Sat Sep 21 07:25:50 UTC 2019 2)格式化展示 客制化日期和时间的展示格式,使用命令:date +"格式"。 常用的格式为: 控制格式 描述 %H 以HH格式展示小时; %M 以MM格式展示分钟; %S 以SS格式展示秒; %d 以DD格式展示天数; %m 以MM格式展示月; %Y 以YYYY格式展示年; %Z 时区; %F 以YYYY-MM-DD格式展示日期,和%Y-%m-%d等价; %T 以HH:MM:SS格式展示时间,和%H:%M:%S等价; [root@strong ~]# date Sat Sep 21 15:37:18 CST 2019 [root@strong ~]# date +"%Y-%m-%d %H:%M:%S" 2019-09-21 15:38:00 2.2 更改当前时间 更改当前时间,命令格式为:date --set HH:MM:SS。 [root@strong ~]# date --set 15:40:20 Sat Sep 21 15:40:20 CST 2019 2.3 更改当前日期 更改当前日期,命令格式为:date --set YYYY-MM-DD。 [root@strong ~]# date --set 2019-09-25 Wed Sep 25 00:00:00 CST 2019 仅仅更改日期,时间会变为00:00:00,故更改日期时需把对应的时间加上,例如: [root@strong ~]# date --set "2019-09-21 15:42:35" Sat Sep 21 15:42:35 CST 2019。 3 CLOCK命令 该命令是用于访问硬件时钟的工具,也称为Real Time Clock(RTC),对应的设置保存在/etc/adjtime文件中。硬件时钟独立于 *** 作系统,即使系统关闭,它仍然工作,用于从硬件时钟展示时间。 3.1 展示当前日期和时间 [root@strong ~]# hwclock Sat 21 Sep 2019 03:51:24 PM CST -0.368709 seconds 3.2 设置日期和时间 设置日期和时间的命令为:hwclock --set --date "dd mmm yyyy HH:MM" [root@strong ~]# hwclock --set --date "21 Sep 2019 16:02:25" [root@strong ~]# hwclock Sat 21 Sep 2019 04:02:35 PM CST -0.342764 seconds 3.3 同步日期和时间 可以使用hwclock命令在硬件时钟和当前系统时间直接互相同步。 3.3.1 系统时间同步到硬件时钟 [root@strong ~]# hwclock --systohc 3.3.2 硬件时钟同步到系统时间 [root@strong ~]# hwclock --hctosys


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8921992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存