date - 打印或设置系统日期和时间
概要
date [选项]... [+格式]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
描述
以给定的格式显示日期和时间。使用 -s,或者使用 [MMDDhhmm[[CC]YY][.ss]],设置日期和时间。
长选项的必需参数对于短选项也是必需的。
-d, --date=字符串
显示由字符串描述的时间,而不是“现在”
--debug
注释解析的日期,并通过 stderr 警告有关可疑用法
-f, --file=日期文件
类似于 --date;对日期文件中的每一行执行一次
-I[格式], --iso-8601[=格式]
以 ISO 8601 格式输出日期/时间。格式可以是“date”(仅日期,默认值)、“hours”、“minutes”、“seconds”或“ns”,用于输出具有相应精度的日期和时间。例如:
200608-14T02:34:56-06:00
--resolution
输出时间戳的可用分辨率。例如:0.000000001
-R, --rfc-email
以 RFC 5322 格式输出日期和时间。例如:Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=格式
以 RFC 3339 格式输出日期/时间。格式可以是“date”、“seconds”或“ns”,用于输出具有相应精度的日期和时间。例如:2006-08-14 02:34:56-06:00
-r, --reference=文件
显示文件的最后修改时间
-s, --set=字符串
设置由字符串描述的时间
-u, --utc, --universal
打印或设置协调世界时 (UTC)
--help
显示此帮助信息并退出
--version
输出版本信息并退出
所有指定要显示的日期的选项都是相互排斥的。即:--date、--file、--reference、--resolution。
格式控制输出。解释的序列如下:
%% 字面上的 % 字符
%a 区域设置的缩写星期名称(例如,Sun)
%A 区域设置的完整星期名称(例如,Sunday)
%b 区域设置的缩写月份名称(例如,Jan)
%B 区域设置的完整月份名称(例如,January)
%c 区域设置的日期和时间(例如,Thu Mar 3 23:05:25 2005)
%C 世纪;类似于 %Y,但省略最后两位数字(例如,20)
%d 月份中的第几天(例如,01)
%D 日期(不明确);与 %m/%d/%y 相同
%e 月份中的第几天,带空格填充;与 %_d 相同
%F 完整日期;类似于 %+4Y-%m-%d
%g ISO 星期数的年份的最后两位数字(不明确;00-99);参见 %G
%G ISO 星期数的年份;通常仅与 %V 一起使用
%h 与 %b 相同
%H 小时(00..23)
%I 小时(01..12)
%j 一年中的第几天(001..366)
%k 小时,带空格填充(0..23);与 %_H 相同
%l 小时,带空格填充(1..12);与 %_I 相同
%m 月份(01..12)
%M 分钟(00..59)
%n 一个换行符
%N 纳秒(000000000..999999999)
%p 区域设置中 AM 或 PM 的等效值;如果未知,则为空
%P 类似于 %p,但小写
%q 一年中的季度 (1..4)
%r 本地 12 小时制时间 (例如,11:11:04 PM)
%R 24 小时制的小时和分钟;与 %H:%M 相同
%s 自 1970-01-01 00:00 UTC 以来的秒数
%S 秒 (00..60)
%t 一个制表符
%T 时间;与 %H:%M:%S 相同
%u 星期几 (1..7);1 是星期一
%U 一年中的周数,以星期日为一周的第一天 (00..53)
%V ISO 周数,以星期一为一周的第一天 (01..53)
%w 星期几 (0..6);0 是星期日
%W 一年中的周数,以星期一为一周的第一天 (00..53)
%x 本地日期 (可能存在歧义;例如,12/31/99)
%X 本地时间表示 (例如,23:13:48)
%y 年份的最后两位数字 (可能存在歧义;00..99)
%Y 年份
%z +hhmm 数字时区 (例如,-0400)
%:z +hh:mm 数字时区 (例如,-04:00)
%::z +hh:mm:ss 数字时区 (例如,-04:00:00)
%:::z 数字时区,使用必要的精度来表示冒号 (例如,-04,+05:30)
%Z 字母时区缩写 (例如,EDT)
默认情况下,date 命令使用零填充数字字段。以下可选标志可以跟在 '%' 之后:
- (连字符) 不填充该字段
_ (下划线) 用空格填充
0 (零) 用零填充
+ 用零填充,并在未来年份(>4 位数字)前加上 '+'
^ 如果可能,使用大写
# 如果可能,使用相反的大小写
在任何标志之后,都可以有一个可选的字段宽度,以十进制数字表示;然后是一个可选的修饰符, 修饰符可以是 E,用于在本地化时使用本地的替代表示,或者 O,用于在本地化时使用本地的替代数字符号。
示例
将自 Epoch(1970-01-01 UTC)以来的秒数转换为日期
$ date --date='@2147483647'
显示美国西海岸的时间(使用 tzselect(1) 查找 TZ)
$ TZ='America/Los_Angeles' date
显示美国西海岸下周五上午 9 点的本地时间
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
日期字符串
--date=STRING 是一个大多是人类可读的日期字符串,例如 "Sun, 29 Feb 2004 1621:42 -0800" 或 "2004-02-29 16:21:42" 甚至 "next Thursday"。日期字符串可以包含指示日历日期、一天中的时间、时区、星期几、相对时间、相对日期的项。空字符串表示一天的开始。日期字符串的格式比此处容易记录的要复杂,但它在 info 文档中得到了完整的描述。
作者
由 David MacKenzie 编写。
报告错误
GNU coreutils 在线帮助:[https://www.gnu.org/software/coreutils/] 将任何翻译错误报告到 [https://translationproject.org/team/]
参见
完整文档 [https://www.gnu.org/software/coreutils/date] 或在本地通过:info '(coreutils) date invocation'
由 Debian (9.7-3) 打包 版权所有 © 2025 自由软件基金会,公司。 许可证 GPLv3+:GNU GPL 第 3 版或更高版本 [https://gnu.org/licenses/gpl.html]。 这是一个自由软件:您可以自由地修改和重新分发它。 在法律允许的范围内,不提供任何保证。