Scroll to navigation

DATE(1) 用户命令 DATE(1)

名称

date - 输出或设置系统日期与时间

概述

date [选项]... [+格式字符串]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

描述

按照给定的格式字符串显示日期和时间。使用了 -s 选项或 [MMDDhhmm[[CC]YY][.ss]] 参数时,设置日期和时间。

必选参数对长短选项同时适用。

显示由字符串指定的时间,而不是当前时间
对日期的解析过程进行注解,对不规范的用法进行警告,并输出到标准错误
类似 --date;对日期文件的每一行执行一次
以 ISO 8601 格式输出日期/时间。格式="date" 时只输出日期(默认行为),当其为 "hours"、"minutes"、"seconds" 或 "ns" 时则按照所指示的精确度显示日期和时间。示例:2006-08-14T02:34:56-06:00
输出时间戳的可用精度 例如:0.000000001
以 RFC 5322 格式输出日期与时间。例:Mon, 14 Aug 2006 02:34:56 -0600
以 RFC 3339 格式输出日期/时间。格式="date"、"seconds" 或 "ns",按照所指示的精确度显示日期和时间。例如:2006-08-14 02:34:56-06:00
显示指定文件的最后修改时间
将时间设置为字符串所描述的时间
按照协调世界时 (UTC) 显示或设置时间
显示此帮助信息并退出
显示版本信息并退出

格式字符串控制输出格式。支持解释的序列有:

%%
一个 % 字符
%a
当前区域设置的星期几的缩写(例如:日)
%A
当前区域设置的星期几的全称(例如:星期日)
%b
当前区域设置的月份缩写(例如:1月)
%B
当前区域设置的月份全称(例如:一月)
%c
当前区域设置的日期和时间(例如:2005年03月03日 星期四 23时05分25秒)
%C
世纪(指年份的最高两位);类似 %Y,但省略最后两位数(例如:20)
%d
日(例如:01)
%D
日期;等于 %m/%d/%y
%e
日,以空格填充;等于 %_d
%F
完整的日期;等于 %+4Y-%m-%d
%g

ISO 周数年的最后两位(参见 %G)
%G

ISO 周数年(参见 %V);一般只和 %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秒)
%R
24 小时制的小时和分钟;等于 %H:%M
%s
自 Epoch (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
当前区域设置的日期表示法(例如:1999年12月31日)
%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 填充。以下可选的标志可以跟在 "%" 后:

-
(连字符)不填充该字段
_
(下划线)以空格填充
0
(数字 0)以 0 填充
+
以 0 填充,并且在超过四位数的未来年份之前添加 "+" 符号
^
如果可能,使用大写形式
#
如果可能,使用相反的大小写

在任何标志之后可以有一个可选的字段宽度,它是一个十进制数字;然后是一个可选的修饰符,它可以是 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=字符串”选项中的的字符串可以是人类易于理解阅读的日期字符串,例如 "Sun, 29 Feb 2004 16:21: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/zh_CN.html> 报告翻译错误。

版权

Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
本软件是自由软件:您可以自由修改和重新发布它。在法律允许的范围内,不提供任何保证。

参见

完整文档请见: <https://www.gnu.org/software/coreutils/date>
或者在本地使用: info '(coreutils) date invocation'

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh

2022年9月 GNU coreutils 9.1