前言
服务器上的时间往往要用到这个命令,而date命令能修改的不仅仅是时间,还可以修改时区,同步大厂的时间等。
一、date命令的介绍
date命令来自于英文单词它自己,也就是时间、时钟的意思,其功能是用于显示或者设置系统日期与时间信息的。运维人员可以根据自己需要的格式来输出系统时间信息。
二、语法及参数
1)用help或man查看语法
语法:date 【参数】格式
[root@localhost ~]# date --help
用法:date [选项]... [+格式]
2)常用参数
-d datestr | 显示 datestr 中所设定的时间 (非系统时间) |
-s datestr | 将系统时间设为 datestr 中所设定的时间 |
-u | 显示目前的格林威治时间 |
%Y | 年份 |
%m | 月份 |
%d | 天数 |
%M | 分钟 |
%S | 秒数 |
%H | 小时 |
%s | 从1970-01-01到现在的秒数 |
%F | 显示当前日期,和%Y-%m-%d效果一样 |
%j | 查看今天是今年当中的第几天 |
%e | 查看今天是一个月当中的第几天 |
-r | 显示指定文件的最后修改时间 |
三、参考实例
1)以默认格式输出系统当前的时间和日期;
[root@localhost ~]# date
2023年 02月 12日 星期日 08:28:59 CST
2)按照"年-月-日"的指定格式输出系统当前的日期时间; 有两种方法
[root@localhost ~]# date "+%Y-%m-%d"
2023-02-12
[root@localhost ~]# date +%F
2023-02-12
3)按照"小时:分钟:秒"的指定格式输出系统当前的时间信息; 三种方法
[root@localhost ~]# date "+%H:%M:%S"
08:34:17
[root@localhost ~]# date +%T
08:34:24
[root@localhost ~]# date +%X
08时34分32秒
[root@localhost ~]#
4)设置当前系统为指定的日期和时间;
[root@localhost ~]# date -s "20230724 00:00:00"
2023年 07月 24日 星期一 00:00:00 CST
[root@localhost ~]# date
2023年 07月 24日 星期一 00:00:14 CST
5)上面修改了系统时间,若要精确到一秒不差,可以同步校准北京时间或者阿里云时间;
[root@localhost ~]# ntpdate -u ntp1.aliyun.com
12 Feb 08:48:24 ntpdate[52619]: step time server 120.25.115.20 offset -13965783.026585 sec
[root@localhost ~]# ntpdate -u ntp.api.bz
[root@localhost ~]# date
2023年 02月 12日 星期日 08:49:21 CST
6)假若要修改时区,可以用timedatectl重新设置;
[root@localhost ~]# timedatectl set-timezone America/New_York
[root@localhost ~]# timedatectl status
Local time: 六 2023-02-11 19:50:41 EST
Universal time: 日 2023-02-12 00:50:41 UTC
RTC time: 日 2023-02-12 00:50:41
Time zone: America/New_York (EST, -0500)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
日 2022-11-06 01:59:59 EDT
日 2022-11-06 01:00:00 EST
Next DST change: DST begins (the clock jumps one hour forward) at
日 2023-03-12 01:59:59 EST
日 2023-03-12 03:00:00 EDT
[root@localhost ~]# date -u
2023年 02月 12日 星期日 00:50:49 UTC
[root@localhost ~]# date
2023年 02月 11日 星期六 19:51:07 EST
当前已经修改时区为纽约
7)可以设定时间(非系统时间);
[root@localhost ~]# date -d "20230724"
2023年 07月 24日 星期一 00:00:00 EDT
8)还可以用来查看文件最后的修改时间;
[root@localhost ~]# date -r anaconda-ks.cfg
2023年 02月 08日 星期三 00:02:25 CST
9)查看今天是一年中的第几天 ,还有查看今天是一个月中的第几天;
[root@localhost ~]# date +%j
043
[root@localhost ~]# date +%e
12
10)显示UTC从1970-01-01到当前时间的秒数;
[root@localhost ~]# date +%s
1676163423
总结
date命令的参数还是挺多的,能记下来还真的不容易,当然不懂的时候可以来查看这篇文章,如果觉得内容还可以,请一定要点个赞再走!