Skip to content

日期相关命令

日期处理命令行操作

1. date 显示当前时间

基本语法

  1. date 显示当前时间
  2. date +%Y 显示当前年份
  3. date +%m 显示当前月份
  4. date +%d 显示当前是哪一天
  5. date +%S 显示当前秒数(00-60)
  6. date +%s 显示当前距离1970-01-01 00:00:00以来所经过的秒数
  7. 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 显示非当前时间

基本语法

  1. date -d '1 days ago' 功能描述:显示前一天时间
  2. date -d '-1 days ago' 功能描述:显示明天时间
  3. 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源

  1. 修改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服务器
  1. 查看同步结果
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