日期相关命令
日期处理命令行操作
1. date 显示当前时间
基本语法
date
显示当前时间date +%Y
显示当前年份date +%m
显示当前月份date +%d
显示当前是哪一天date +%S
显示当前秒数(00-60)date +%s
显示当前距离1970-01-01 00:00:00以来所经过的秒数date "+%Y-%m-%d %H:%M:%S"
显示年月日时分秒
sh
## 显示当前时间信息
[root@hadoop100 ~]# date
2024年 01月 12日 星期五 21:33:24 CST
## 显示当前时间年月日时分秒
[root@hadoop100 ~]# date "+%Y-%m-%d %H:%M:%S"
2024-01-12 21:34:45
2. date 显示非当前时间
基本语法
date -d '1 days ago'
功能描述:显示前一天时间date -d '-1 days ago'
功能描述:显示明天时间date -d @时间戳unix
功能描述:将时间戳换算成日期
sh
## 显示明天时间
[root@hadoop100 ~]# date -d '-1 days ago'
2024年 01月 13日 星期六 21:38:07 CST
[jack@hadoop100 ~]$ date -d @1710205718414
56164年 04月 06日 星期五 00:00:14 CST
## 显示明天时间年月日时分秒
[root@hadoop100 ~]# date -d '-1 days ago' "+%Y-%m-%d %H:%M:%S"
2024-01-13 21:39:03
3. date 设置系统时间
基本语法 date -s
其中s
为字符串时间
sh
## 设置系统当前时间
[root@hadoop100 ~]# date -s "2017-06-19 20:52:18"
4. cal 查看日历
基本语法 cal [具体某一年]
功能描述:不加选项,显示本月日历
sh
## 查看当前月的日历
[root@hadoop100 ~]# cal
一月 2024
日 一 二 三 四 五 六
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
[root@hadoop100 ~]# cal 7 2023
七月 2023
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
5. timedatectl管理时区时间
5.1 查看当前时间与时区
sh
[jack@hadoop102 ~]$ timedatectl
Local time: 四 2024-11-28 08:45:32 CST
Universal time: 四 2024-11-28 00:45:32 UTC
RTC time: 四 2024-11-28 00:45:32
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
其中的CST\UTC\GMT代表的不同的时间标准:
- UTC又称世界统一时间、世界标准时间(Coordinated Universal Time),UTC是一种基于原子时间的时间标准,是全球时间的基准。UTC不受季节性变化的影响。
- GMT称为格林尼治时间(Greenwich Mean Time),以英国伦敦格林尼治天文台的地方时间为基础的一种时间标准。
- CST称为中国标准时间(China Standard Time),这是中国大陆、澳门和香港等地区使用的时间。如果转换为UTC时间,需要UTC+8。
5.2 设置时间时区
sh
sudo timedatectl set-timezone Asia/Shanghai #设置时区,如果时区不对需要设置
sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS" #手动设置时间
6. 使用ntp校对时间
ntp全名network time protocol。提供NTP服务的主机可以为其他主机提供时间校对服务。
6.1 安装NTP服务
sh
sudo yum install ntp -y #安装NTP服务
sudo systemctl start ntpd #启动NTP服务
sudo systemctl enable ntpd #设置NTP开机自启
6.2 修改NTP源
- 修改NTP配置文件
sh
sudo vim /etc/ntp.conf
restrict ntp1.aliyun.com nomodify notrap noquery #设置ntp1.aliyun.com可以修改本地系统时间
server ntp1.aliyun.com #设置阿里云NTP服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#注释以上默认NTP服务器
- 查看同步结果
sh
sudo systemctl restart ntpd #重启NTP服务
7. 使用chrony校对时间
Chrony在Centos\RHEL 7操作系统,已经是默认服务。默认配置文件在/etc/chrony.conf它能保持系统时间与时间服务器(NTP)同步, 查看系统是否安装chrony服务。
sh
[jack@hadoop103 ~]$ sudo rpm -qa |grep chrony
chrony-3.4-1.el7.x86_64
7.1 启动chrony服务
sh
sudo systemctl restart chronyd
7.2 校准时间
sh
sudo chronyc tracking