命令行手册

Man » date 手册在线 - date 手册页的详细在线文档

🌍
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]。 这是一个自由软件:您可以自由地修改和重新分发它。 在法律允许的范围内,不提供任何保证。