前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天学一个 Linux 命令(50):date

每天学一个 Linux 命令(50):date

作者头像
民工哥
发布2021-03-15 16:38:10
1.8K0
发布2021-03-15 16:38:10
举报
文章被收录于专栏:民工哥技术之路

昨日推荐:每天学一个 Linux 命令(49):free

命令简介

date 命令用于显示与设置系统时间。

语法格式

代码语言:javascript
复制
date [OPTION] [MMDDhhmm[[CC]YY][.ss]]

选项说明

代码语言:javascript
复制
-d<字符串>  #显示字符串所指的日期与时间。字符串前后必须加上双引号
-s<字符串>  #根据字符串来设置日期与时间。字符串前后必须加上双引号
-u  #显示GMT
--help     #打印在线帮助信息
--version  #打印版本信息

时间字符串列表

代码语言:javascript
复制
FORMAT controls the output.  Interpreted sequences are:
%% #字符%
%H #小时,24小时制(表示方式:00~23)
%I #小时,12小时制(表示方式:01~12)
%k #小时,24小时制(表示方式:0~23)
%l #小时,12小时制(表示方式:1~12)
%M #分(00~59)
%p #显示出上午或下午
%r #时间,12小时制
%s #从1970年1月1日0点到目前经历的秒数
%S #秒(00~59) 
%T #时间(24小时制)(hh:mm:ss)
%X #显示时间的格式(%H时%M分%S秒)
%Z #按字母表排序的时区缩写
%a #星期名缩写
%A #星期名全称
%b #月名缩写
%B #月名全称
%c #日期和时间
%d #按月计的日期(01~31)
%D #日期(mm/dd/yy) 
%h #和%b选项相同
%j #一年的第几天(001~366)
%m #月份(01~12)
%w #一个星期的第几天(0代表星期天)
%W #一年的第几个星期(00~53,星期一为第一天)
%x #显示日期的格式(mm/dd/yy)
%y #年份的最后两个数字(1999则是99)
%Y #年份(比如1970、1996等)
%C #世纪,通常为省略当前年份的后两位数字
%U #一年中的第几周,以周日为每星期第一天
%e #按月计的日期,添加空格,等于%_d

应用举例

格式化输出当前时间信息

代码语言:javascript
复制
[root@centos7 ~]# date +"%Y-%m-%d"
2021-01-17

打印昨天(1天前)日期

代码语言:javascript
复制
[root@centos7 ~]# date -d "1 day ago"
Sat Jan 16 07:31:22 EST 2021
[root@centos7 ~]# date -d "1 day ago" +"%Y-%m-%d"
2021-01-16

时间的加减

代码语言:javascript
复制
#当前时间
[root@centos7 ~]# date +"%Y-%m-%d %H:%M:%S"
2021-01-17 07:38:17

#下一天(明天)的时间
[root@centos7 ~]# date -d "+1 day" +"%Y-%m-%d %H:%M:%S"
2021-01-18 07:38:50
#前一天(昨天)的时间
[root@centos7 ~]# date -d "-1 day" +"%Y-%m-%d %H:%M:%S"
2021-01-16 07:38:56

#后一个月(下个月)的时间
[root@centos7 ~]# date -d "+1 month" +"%Y-%m-%d %H:%M:%S"
2021-02-17 07:39:21
#前一个月(上个月)的时间
[root@centos7 ~]# date -d "-1 month" +"%Y-%m-%d %H:%M:%S"
2020-12-17 07:39:35

#后一周的时间
[root@centos7 ~]# date -d "+1 week" +"%Y-%m-%d %H:%M:%S"
2021-01-24 07:39:52
#前一前的时间
[root@centos7 ~]# date -d "-1 week" +"%Y-%m-%d %H:%M:%S"
2021-01-10 07:39:59

#下一年(明年)的时间
[root@centos7 ~]# date -d "+1 year" +"%Y-%m-%d %H:%M:%S"
2022-01-17 07:40:11
#前一年(去年)的时间
[root@centos7 ~]# date -d "-1 year" +"%Y-%m-%d %H:%M:%S"
2020-01-17 07:40:19

设置时间

代码语言:javascript
复制
date -s      #设置当前时间,只有root权限才能设置
date -s 20201111   #设置成20201111,这样会把具体时间设置成空00:00:00
date -s 00:00:00   #设置具体时间,日期不会被更改

#设置全部时间
date -s "00:00:00 2020-11-11"  
date -s "01:01:01 20201111"    
date -s "2020-11-11 00:00:00"   
date -s "20201111 00:00:00"   

时间的转换

代码语言:javascript
复制
[root@centos7 ~]# date -d "2021-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
2060-02-14 23:02:30
[root@centos7 ~]# date -d "2021-01-01" +"%Y-%m-%d %H:%m:%S"
2021-01-01 00:01:00
[root@centos7 ~]# date -d "2021-01-01 7890 seconds" +"%Y-%m-%d %H:%m:%S"
2021-01-01 02:01:30
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命令简介
  • 语法格式
  • 选项说明
  • 时间字符串列表
  • 应用举例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档