1 date简介
在linux 中date命令有很多用法,本文简单介绍一下 -d 参数的用法。
date -d //显示字符串所指的日期与时间。字符串前后必须加上双引号。 例如: date -d “-1day” //前一天 date -d “1day” //后一天 复制代码
指定日期的显示格式:
date <+时间日期格式> 例如: [root@yuji ~]# date +"%Y-%m-%d" 2022-05-01 [root@yuji ~]# date +"%Y%m%d" 20220501 复制代码
日期格式:
格式 | 作用 |
%Y | 完整年份 (0000~9999) |
%y | 年份的最后两位数字 (00~99) |
%m | 月份 (01~12) |
%d | 日 (01~31) |
%W | 一年中的第几周 (00~53) (以 Monday 作为一周的第一天) |
%U | 一年中的第几周 (00~53) (以 Sunday 作为一周的第一天) |
%w | 一周中的第几天 (0~6) |
%D | 直接显示日期 (mm/dd/yy) |
%x | 直接显示日期 (mm/dd/yy) |
%B | 月份 (January~December) |
%b | 月份 (Jan~Dec) |
%A | 星期几 (Sunday~Saturday) |
%a | 星期几 (Sun~Sat) |
%F | 直接显示日期,相当于"%Y-%m-%d"(yyyy-mm-dd) |
时间格式:
格式 | 作用 |
%H | 小时(00~23) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%X | 相当于 %H:%M:%S |
%T | 直接显示时间 (24 小时制) |
%p | 显示本地 AM 或 PM |
%Z | 显示时区 |
%k | 小时(0~23) |
%l | 小时(1~12) |
%r | 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) |
%s | 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 |
2 获得某一天的时间:
示例1:
[root@yuji ~]# date 2022年 05月 01日 星期日 22:51:46 CST [root@yuji ~]# date +"%Y%m%d" 20220501 [root@yuji ~]# date -d "-1 day" +"%Y%m%d" 20220430 [root@yuji ~]# date -d "1 day" +"%Y%m%d" 20220502 复制代码
网络异常,图片无法展示
|
示例2:
[root@yuji ~]# date 2022年 05月 01日 星期日 20:55:14 CST [root@yuji ~]# date +"%Y%m%d" //当前日期 20220501 [root@yuji ~]# date +"%Y%m01" //本月第一天 20220501 #上个月最后一天(本月第一天减1天) [root@yuji ~]# date -d "$(date +"%Y%m01") -1day" +"%Y%m%d" 20220430 #上个月倒数第3天(本月第一天减3天) [root@yuji ~]# date -d "$(date +"%Y%m01") -3 day" +"%Y%m%d" 20220428 #下个月第一天 [root@yuji ~]# date -d "$(date -d "1 month" +"%Y%m01")" 2022年 06月 01日 星期三 00:00:00 CST [root@yuji ~]# date -d "$(date -d "1 month" +"%Y%m01")" +"%Y%m%d" 20220601 #本月最后一天(下个月第一天减1天) [root@yuji ~]# date -d "$(date -d "1 month" +"%Y%m01") -1 day" +"%Y%m%d" 20220531 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
3 获得多少秒之前的时间:
[root@yuji ~]# date -d "2 day ago" +"%Y%m%d" //获得2天前的时间 20220429 [root@yuji ~]# date -d "10 day ago" +"%Y%m%d" //获得10天前的时间 20220421 [root@yuji ~]# date -d "10 second ago" +"%Y%m%d" //获得10秒前的时间 20220501 [root@yuji ~]# date -d "10 second ago" +"%Y%m%d %H:%M:%S" //获得10秒前的时间,显示具体的时分秒 20220501 22:08:39 复制代码
网络异常,图片无法展示
|
4 查看系统启动时间:
[root@yuji ~]# cat /proc/uptime 29602.31 29039.95 #第一列输出的是,系统启动到现在的时长(以秒为单位) #第二列输出的是,系统空闲的时长(以秒为单位) 复制代码
网络异常,图片无法展示
|
5 通过date命令计算出系统启动时间(本次系统开机时间):
[root@yuji ~]# cat /proc/uptime 31761.98 31117.16 [root@yuji ~]# awk -F. '{print $1}' /proc/uptime 31763 [root@yuji ~]# date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y%m%d %H:%M:%S" 20220501 13:59:21 复制代码
网络异常,图片无法展示
|