CentOS7提供三个命令行工具,可用于配置和显示有关系统日期和时间的信息。
timedatectl:Linux 7中的新增功能,也是systemd其中的一部分。
timedatectl命令|
1
|
timedatectl |
|
1
2
3
4
5
6
7
8
9
|
[root@zydev ~]# timedatectl Local time: Mon 2017-11-06 01:22:46 CST #中部标准时间,UTC+8 Universal time: Sun 2017-11-05 17:22:46 UTC RTC time: Sun 2017-11-05 17:22:46 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: noNTP synchronized: no RTC in local TZ: no DST active: n/a |
改变ntpd和chrony状态不会立即生效,需要执行:
|
1
|
systemctl restart systemd-timedated.service |
该命令同时更新系统时间和硬件时钟。其结果类似于使用date --set和hwclock --systohc命令。如果NTP启用服务,该命令将失败。
|
1
2
3
4
5
6
7
8
9
10
|
[root@zydev ~]# timedatectl set-time 23:06:45[root@zydev ~]# timedatectl Local time: Mon 2017-11-06 23:06:51 CST Universal time: Mon 2017-11-06 15:06:51 UTC RTC time: Mon 2017-11-06 15:06:51 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: noNTP synchronized: no RTC in local TZ: no DST active: n/a |
默认情况下,系统配置硬件时钟使用UTC,如果要配置为当地时间,加上参数set-local-rtc
|
1
|
timedatectl set-local-rtc boolean |
更换布尔为yes或者no,默认是no
|
1
|
timedatectl set-time YYYY-MM-DD |
请注意,更改日期而不指定当前时间会导致将时间设置为00:00:00。
要将当前日期更改为2017年6月2日并保持当前时间(下午11:26)
|
1
|
timedatectl set-time ”2017-06-02 23:26:00” |
列出时区
|
1
|
timedatectl list-timezones|grep Asia |
更改时区为香港
|
1
|
timedatectl set-timezone Asia/Hong_Kong |
timedatectl命令还允许您使用该NTP协议启用系统时钟与一组远程服务器的自动同步。启用NTP将启用chronyd或ntpd服务,具体取决于它们中的哪一个被安装。
|
1
|
timedatectl set-ntp boolean |
启用同步
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[root@zydev ~]# timedatectl set-timezone Asia/Hong_Kong[root@zydev ~]# timedatectl Local time: Mon 2017-11-06 23:22:07 HKT Universal time: Mon 2017-11-06 15:22:07 UTC RTC time: Mon 2017-11-06 15:22:07 Time zone: Asia/Hong_Kong (HKT, +0800) NTP enabled: noNTP synchronized: no RTC in local TZ: no DST active: n/a[root@zydev ~]# timedatectl set-ntp yes[root@zydev ~]# timedatectl Local time: Mon 2017-11-06 23:24:14 HKT Universal time: Mon 2017-11-06 15:24:14 UTC RTC time: Mon 2017-11-06 15:24:14 Time zone: Asia/Hong_Kong (HKT, +0800) NTP enabled: yesNTP synchronized: no RTC in local TZ: no DST active: n/a |
缺省情况下,date显示本地时间。要显示在UTC的时间,运行与所述命令--utc或-u命令
|
1
2
3
4
|
[root@zydev ~]# dateMon Nov 6 23:34:09 HKT 2017[root@zydev ~]# date -uMon Nov 6 15:34:13 UTC 2017 |
可以通过在命令行上提供选项来自定义显示信息的格式: +"format"
| 控制序列 | 描述 |
|---|---|
%H |
HH格式的小时(例如17)。 |
%M |
MM格式的分钟(例如30)。 |
%S |
第二个是SS格式(例如24)。 |
%d |
DD格式的月份中的某一天(例如,16)。 |
%m |
MM格式的月份(例如09)。 |
%Y |
YYYY格式的年份(例如2016)。 |
%Z |
时区缩写(例如,CEST)。 |
%F |
YYYY-MM-DD格式的完整日期(例如2016-09-16)。这个选项等于%Y-%m-%d。 |
%T |
全时以HH:MM:SS格式(例如,17 :30: 24)。这个选项等于%H:%M:%S |
更改时间
|
1
|
date -s 23:43:45 |
同时更改时间和日期
要将当前日期更改为2017年6月2日并保持当前时间(下午11:26)
|
1
|
date -s "2017-06-02 23:26:00" |
更改日期而不指定当前时间会导致将时间设置为00:00:00
显示硬件时钟当前时间
|
1
2
|
[root@app-01 ~]# hwclockTue 07 Nov 2017 11:42:15 AM CST -0.269798 seconds |
将硬件时钟设置为特定日期和时间,并将硬件时钟保持为UTC
|
1
|
hwclock --set --date "21 Oct 2016 21:17" --utc |
硬件时钟与系统时间同步,并设置为UTC时间
|
1
|
hwclock --systohc --utc |
硬件时钟与系统时间同步,并设置为本地时间
|
1
|
hwclock --systohc --localtime |
from:https://www.cnblogs.com/zydev/p/7795872.html