每天一个 Linux 命令(12)—— date

·  阅读 192

这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战

命令简介

date 命令用于显示或设置系统时间。利用时间格式字符串,用户可以控制时间显示的形式与内容。如果是超级用户,也可以使用 date命令设置系统时间。其中,format 是时间格式的定义,用于控制时间的输出内容与形式。注意,环境变量 TZ 定义了系统的时区,时间的显示或设置都是基于当前时区的,除非命令行另有指定。如果TZ变量未设置,命令行也未指定,则以 /etc/localtime 文件为准。

命令格式

date [参数]… [+格式]
复制代码

命令参数

参数解释
-d str,--date=str按照指定的时间描述字符串(如 yesterday、tomorrow 或 next Sunday 等)或者时间格式字符串(如 2012-01-22 10:20:30 或 Sun, 22 Jan 2010 16:21:42 +0800)显示时间。注意,这里的具体数字并不重要,重要的只是时间的格式与含有的时间元素,最终显示的还是当前时间。
-f datef,--file=datef从指定的文件中逐行读取时间描述字符串或时间格式字符串,作为 -d 选项的参数,按照要求显示时间。文件可以包含多行字符串,定义多个时间显示形式。
-r file,--reference=file显示指定文件最近一次的修改时间。
-R,--rfc-2822以 RFC 2822 定义的格式显示日期和时间,如 Sun, 22 Jan 2010 12:34:56 +0800
-s str,--set=str按照指定的时间格式设置时间,例如,使用 [cc]yy-mm-dd[cc]yymmdd或 [cc]yy/mm/dd 等设置日期,使用 hh:mm[:ss] 等设置时间。也可以组合在一起,同时设置日期与时间,如 [cc]yy-mm-ddhh:mm。注意,组合设置日期与时间时,前后需要加引号。
-u,--utc,--universal显示或设置协调世界时(UTC),即格林威治时间(GMT)。
--rfc-3339=time以 RFC 3339 定义的格式显示日期和时间。其中的时间参数可以是 date(仅显示日期)、 seconds(显示日期、时间与时区)或 ns(同 seconds,但在秒后增加时间精度)。

时间格式

格式解释
%%百分号 % 文字本身。
%n换行符。
%t制表符。
%a本地语言环境的星期缩写,如 Sun 或日。
%A本地语言环境的星期全称,如 Sunday 或星期日。
%b本地语言环境的月份缩写,如 Jan。
%B本地语言环境的月份全称,如 January 或一月。
%c本地语言环境的日期与时间,如 Sun Jan 22 23:05:252010 或 2012 年 01 月 15 日 星期日 21 时 43 分 30 秒。
%C世纪。类似于 %Y,忽略最后两位数字,如 20。
%d一月中的第几天。
%D日期,相当于 %m/%d/%y
%e一月中的第几天。相当于 %_d,即使用空格替代前置 0。
%F完整的日期表示,相当于 %Y-%m-%d
%gISO 标准的年份最后两位数字,通常与 %V 一起使用。
%GISO 标准的年份,通常与 %V 一起使用。
%h相当于 %b ,显示月份的缩写。
%H24 小时制(0~23)的小时。
%I12 小时制(1~12)的小时。
%j一年中的第几天(001~366)。
%k24 小时制(0~23)的小时。
%l12 小时制(1~12)的小时。
%m月(1~12)。
%M分(00~59)。
%N毫微秒(000000000~999999999)。
%p本地语言环境的上下午表示,如 AM、PM、上午或下午等。
%P类似于 %p,但采用小写字母。
%r本地语言环境的 12 小时制时钟时间,如11:11:04 PM,或 下午 09 时 29 分 30 秒
%R24 小时制的小时与分,相当于 %H:%M
%s从 UNIX 纪元(1970-01-01 00:00:00 UTC)算起的秒数。
%S秒(00~60)。
%T时间,相当于 %H:%M:%S
%u周(1~7),其中 7 表示星期日。
%U一年中的第几周(00~53),其中星期日作为每周的第一天。
%VISO 标准的第几周(01~53),其中星期一作为每周的第一天。
%w周(0~6),其中 0 表示星期日。
%W一年中的第几周(00~53),其中星期一作为每周的第一天。
%x本地语言环境的日期表示,如 01/15/12 或 2012 年 01 月 15 日。
%X本地语言环境的时间表示,如 21:26:06 或 21 时 26 分 06 秒。
%y年份的最后两位数字(00~99),如 12。
%Y年,如 2012。
%z数字形式 +hhmm 表示的时区,如 +0800
%:z数字形式 +hh:mm 表示的时区,如 +08:00
%::z数字形式 +hh:mm:ss 表示的时区,如 +08:00:00
%:::z数字形式的时区,增加必要的精度,如 +08 或 +05:30 等。
%Z时区的英文缩写,如 CST

应用实例

  1. 设置系统时间
date -s "20211117 11:30"
复制代码
  1. 使用格式字符串,模拟实现 date 命令显示的系统时间。
date "+%x +%A +%T +%Z"
复制代码

参考文档

  • date命令
  • 《Linux 常用命令简明手册》—— 邢国庆编著
分类:
后端
标签:
分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改