Linux 时间命令之 date 详解

文章
林里克斯

Linux date 命令可以用来显示或设定系统的日期与时间,也可以按自己想要的格式来输出展示时间。

Linux 时间命令之 date 详解


实验平台:CentOS 7.7.1908

date version:8.22



一、date 命令详解


$ date --help

-d/--date   #显示自定义的时间,而非系统时间
-f          #为DATEFILE的每一行指定一次日期
-I          #以ISO 8601格式输出日期/时间
-r          #显示文件的上次修改时间
-R          #以 RFC 2822 格式输出日期和时间(e.g., Thu, 29 Oct 2020 16:36:38 +0800)
-s          #调整时间
-u          #显示目前的格林威治时间
--help      #打印帮助信息
--version   #打印版本信息

    - 格式控制输出,以 + 开头,后面接格式 (e.g., date +%a)(e.g., date +%Y%m%d)

%%   #显示 %
%a   #显示星期几缩写 (e.g., Sun)
%A   #显示星期几全称 (e.g., Sunday)
%b   #显示月份缩写 (e.g., Jan)
%B   #显示月份全称 (e.g., January)
%c   #显示日期时间 (e.g., Thu Mar  3 23:05:25 2005)
%C   #显示世纪 (e.g., 20)
%d   #这个月的第几天 (e.g., 01)
%D   #按这个格式 %m/%d/%y 显示日期(e.g., 10/29/20)
%e   #显示日,和 %_d 输出一致
%F   #按这个格式 %Y-%m-%d 显示日期(e.g., 2020-10-29)
%g   #ISO周编号年份的最后两位数字 (see %G)
%G   #ISO周数年份 (see %V); 
%h   #显示月份缩写,和 %b 输出一致
%H   #显示小时,24 小时格式 (e.g., 15)
%I   #显示小时,12 小时格式 (e.g., 03)
%j   #今年的第几天 (e.g., 303)
%k   #显示小时(第一个用空格填充),24 小时格式( 0..23); (e.g.,  15)和 %_H 输出一致
%l   #显示小时(第一个用空格填充),12 小时格式( 1..12); (e.g.,  5)和 %_I 输出一致
%m   #显示月份(01..12)(e.g., 10)
%M   #显示分钟(00..59)(e.g., 59)
%n   #换行
%N   #纳秒(000000000..999999999)(e.g., 122947130)
%p   #显示现在是上午/下午(AM/PM大写),如果不知道就输出空
%P   #显示现在是上午/下午(AM/PM小写)
%r   #显示 12 小时时间 (e.g., 11:11:04 PM)
%R   #显示 24 小时时间 (e.g., 16:06) 和 +%H:%M 输出一致
%s   #从 1970-01-01 00:00:00 UTC 到目前经历的秒数
%S   #秒数 (00..60)(e.g.,11)
%t   #一空行
%T   #显示完整时间 (e.g., 16:09:03) 和 %H:%M:%S 输出一致
%u   #用数字显示星期几 (1..7)(e.g., 4) 1 是星期一
%U   #一年中的第几周,星期日是一周的第一天 (00..53)(e.g., 43)
%V   #ISO周编号 (01..53)
%w   #用数字显示星期几 (0..6)(e.g., 4) 0 是星期日
%W   #一年中的第几周,星期一是一周的第一天 (00..53)(e.g., 43)
%x   #显示区域设置的日期 (e.g., 10/29/2020)
%X   #显示区域设置的时间 (e.g., 04:20:36 PM)
%y   #显示年份的最后两个数字 (00..99)(e.g., 20)
%Y   #显示年份(e.g., 2020)
%z   #以数字显示时区 (e.g., +0800)
%:z  #以这个格式 +hh:mm 显示时区 (e.g., +08:00)
%::z #以这个格式 +hh:mm:ss 显示时区 (e.g., +08:00:00)
%:::z  #精确到所需精度 (e.g., -04, +05:30)
%Z   #以字母缩写显示时区 (e.g., CST)

  - (连字符)不填充该域
  _ (下划线)以空格填充
  0 (数字0)以0 填充
  ^ 如果可能,使用大写字母
  # 如果可能,使用相反的大小写

二、实操案例


1.显示自定义的时间,而非系统时间

$ date -d '20201111 12:12:30'
Wed Nov 11 12:12:30 CST 2020

2.调整系统时间

$ date -s '20201111 12:12:30'
Wed Nov 11 12:12:30 CST 2020
#将系统时间调整为 2020-11-11 12:12:30

3.显示多久前的日期

$ date --date "1 days ago" +"%Y-%m-%d"
2020-10-28
#显示一天前的日期,1 为变量
或
$ date -d "-1 days" +"%Y-%m-%d"
2020-10-28
$ date --date "1 weeks ago" +"%Y-%m-%d"
2020-10-22
#显示一周前的日期,1 为变量
$ date --date "1 years ago" +"%Y-%m-%d"
2019-10-29
#显示一年前的日期,1 为变量

4.完整格式的时间

$ date "+%Y-%m-%d %H:%M:%S"
2020-10-29 17:00:32

5.显示文件的上次修改时间

$ date -r 1.txt 
Thu Oct 29 16:39:34 CST 2020

Over~

版权协议须知!

本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

1180 0 2020-10-29


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-12-28

今日天气
站点统计
  • 文章总数:241篇
  • 分类总数:29个
  • 评论总数:12条
  • 本站总访问量 353155 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!