显示和设置系统日期时间的date命令示例

当您不带任何选项执行日期命令时,它将显示当前日期和时间,如下所示。

$ date
Mon May 20 22:02:24 PDT 2013

1. 使用 –date 选项从字符串值显示日期

如果字符串中有静态日期或时间值,则可以使用 -d 或 –date 选项将输入字符串转换为日期格式,如下所示。

请注意,这不使用当前日期和时间值。而是使用您作为字符串传递的日期和时间值。

以下示例采用仅输入日期字符串,并以日期格式显示输出。如果您不指定时间,它将使用 00:00:00 作为时间。

$ date --date="12/2/2014"
Tue Dec  2 00:00:00 PST 2014

$ date --date="2 Feb 2014"
Sun Feb  2 00:00:00 PST 2014

$ date --date="Feb 2 2014"
Sun Feb  2 00:00:00 PST 2014

以下示例采用输入日期和时间字符串,并以日期格式显示输出。

$ date --date="Feb 2 2014 13:12:10"
Sun Feb  2 13:12:10 PST 2014

2. 使用 –file 选项从文件中读取日期模式

这类似于我们上面讨论的 -d 或 –date 选项。但是,您可以为多个日期字符串执行此操作。如果您有一个包含各种静态日期字符串的文件,您可以使用 -f 或 –file 选项,如下所示。

在此示例中,我们可以看到 datefile 包含 2 个日期字符串。datefile 的每一行都由 date 命令解析,并为每一行输出日期。

$ cat datefile
Sept 9 1986
Aug 23 1987

$ date --file=datefile
Tue Sep  9 00:00:00 PDT 1986
Sun Aug 23 00:00:00 PDT 1987

3. 使用 –date 选项获取相对日期

您还可以使用 date 命令使用相对值获取未来日期。

例如,以下示例获取下周一的日期。

$ date --date="next mon"
Mon May 27 00:00:00 PDT 2013

如果将 string=@ 赋予 date 命令,则 date 命令将自纪元 (1970-01-01 UTC) 以来的秒数转换为日期。

它显示自 1970-01-01 UTC 纪元以来经过 5 秒的日期:

$ date --date=@5
Wed Dec 31 16:00:05 PST 1969

它显示自 1970-01-01 UTC 纪元以来经过 10 秒的日期:

$ date --date=@10
Wed Dec 31 16:00:10 PST 1969

它显示自 1970-01-01 UTC 纪元以来经过 1 分钟(即 60 秒)的日期:

$ date --date=@60
Wed Dec 31 16:01:00 PST 1969

4.显示过去日期

您可以使用 -date 命令显示过去的日期。下面显示了几种可能性。

$ date --date='3 seconds ago'
Mon May 20 21:59:20 PDT 2013

$ date --date="1 day ago"
Sun May 19 21:59:36 PDT 2013

$ date --date="yesterday"
Sun May 19 22:00:26 PDT 2013

$ date --date="1 month ago"
Sat Apr 20 21:59:58 PDT 2013

$ date --date="1 year ago"
Sun May 20 22:00:09 PDT 2012

5. 使用–set 选项设置日期和时间

您可以使用 -s 或 –set 选项设置系统的日期和时间,如下所示。

在此示例中,最初它显示的时间为 20:09:31。然后我们使用 date 命令将其更改为 21:00:00。

$ date
Sun May 20 20:09:31 PDT 2013

$ date -s "Sun May 20 21:00:00 PDT 2013"
Sun May 20 21:00:00 PDT 2013

$ date
Sun May 20 21:00:05 PDT 2013

5. 使用 -u 选项显示世界时

您可以使用 -u、-utc 或 -universal 选项以 UTC 格式显示日期,如下所示。

$ date
Mon May 20 22:07:53 PDT 2013

$ date -u
Tue May 21 05:07:55 UTC 2013

6. 使用 -r 选项显示上次修改时间

在本例中,当前时间为 20:25:48

$ date
Sun May 20 20:25:48 PDT 2013

datefile 的时间戳是使用touch 命令更改的。这是在上述日期命令输出几秒钟后完成的。

$ touch datefile

上述touch命令后的当前时间是20:26:12

$ date
Sun May 20 20:26:12 PDT 2013

最后,使用 date 命令 -r 选项显示文件的最后修改时间戳,如下所示。在此示例中,它将 datefile 的最后修改时间显示为 20:25:57。它介于 20:25:48 和 20:26:12 之间(这是我们执行上面的触摸命令来修改时间戳的时间)。

$ date -r datefile
Sun May 20 20:25:57 PDT 2013

7. 各种日期命令格式

您可以使用格式选项使用以下语法以各种格式显示日期命令:

$ date +%<format-option>

下表显示了各种日期命令格式选项。

posted @ 2024-08-05 08:47  哈喽哈喽111111  阅读(44)  评论(0编辑  收藏  举报