date命令计算出系统启动时间

简介: 1 date简介在linux 中date命令有很多用法,本文简单介绍一下 -d 参数的用法。

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
复制代码


网络异常,图片无法展示
|


相关文章
|
6月前
|
Unix Linux Shell
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
133 0
|
6月前
layerData指定日期可用或者不可用
layerData指定日期可用或者不可用
40 0
|
6月前
|
运维 大数据 Shell
时间命令date,你真的会用了吗?
时间命令date,你真的会用了吗?
80 0
|
3月前
|
监控 编译器 C++
【代码讲解】【C/C++】获取文件最后修改的时间(系统时间)
【代码讲解】【C/C++】获取文件最后修改的时间(系统时间)
67 0
|
4月前
|
Ubuntu Linux Python
|
小程序 JavaScript API
小程序获取当前日期和时间点的方法
小程序获取当前日期和时间点的方法
188 0
|
Linux 开发者
Linux时间和日期函数:管理时间与日期的重要工具
在Linux系统编程中,处理时间和日期是至关重要的任务。Linux提供了一系列的时间和日期函数,允许开发者获取、操作和格式化时间信息。本文将深入介绍Linux时间和日期函数的使用,包括获取当前时间、格式化时间字符串、计算时间差等功能,帮助读者充分了解如何在程序中有效地处理时间和日期。
190 3
|
Serverless Python
函数计算默认使用的是 UTC 时间
函数计算默认使用的是 UTC 时间
168 0
CentOS7.X时间调整为系统时间之后,重新开机就无效了
CentOS7.X时间调整为系统时间之后,重新开机就无效了
150 0
CentOS7.X时间调整为系统时间之后,重新开机就无效了