欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何使用 date 命令 | Linux 中国

程序员文章站 2022-09-02 23:39:10
在本文中, 我们会通过一些案例来演示如何使用 Linux 中的 date 命令。date 命令可以用户输出/设置系统日期和时间。 date 命令很简单, 请参见下面的例子和语法。 默认情况下...

在本文中, 我们会通过一些案例来演示如何使用 Linux 中的 date 命令。date 命令可以用户输出/设置系统日期和时间。 date 命令很简单, 请参见下面的例子和语法。

默认情况下,当不带任何参数运行 date 命令时,它会输出当前系统日期和时间:

$ date

Sat 2 Dec 12:34:12 CST 2017

语法

Usage: date [OPTION]... [+FORMAT]

or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

以给定格式显示当前时间,或设置系统时间。

案例

下面这些案例会向你演示如何使用 date 命令来查看前后一段时间的日期时间。

1、 查找 5 周后的日期

date -d "5 weeks"

Sun Jan 7 19:53:50 CST 2018

2、 查找 5 周后又过 4 天的日期

date -d "5 weeks 4 days"

Thu Jan 11 19:55:35 CST 2018

3、 获取下个月的日期

date -d "next month"

Wed Jan 3 19:57:43 CST 2018

4、 获取下周日的日期

date -d last-sunday

Sun Nov 26 00:00:00 CST 2017

date 命令还有很多格式化相关的选项, 下面的例子向你演示如何格式化 date 命令的输出.

5、 以 yyyy-mm-dd 的格式显示日期

date +"%F"

2017-12-03

6、 以 mm/dd/yyyy 的格式显示日期

date +"%m/%d/%Y"

12/03/2017

7、 只显示时间

date +"%T"

20:07:04

8、 显示今天是一年中的第几天

date +"%j"

337

9、 与格式化相关的选项

< 如显示不全,请左右滑动 >格式说明

%%显示百分号 (%)。

%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完整的日期;跟 %Y-%m-%d 一样。

%g年份的后两位 (参见 %G)。

%G年份 (参见 %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, 但是用小写字母显示。

%r当前区域的 12 小时制显示时间 (如: 11:11:04 PM)。

%R24 小时制的小时和分钟;同 %H:%M。

%s从 1970-01-01 00:00:00 UTC 到现在经历的秒数。

%S秒数 (00..60)。

%t制表符。

%T时间;同 %H:%M:%S。

%u星期 (1..7);1 表示 星期一。

%U一年中的第几个星期,以周日为一周的开始 (00..53)。

%V一年中的第几个星期,以周一为一周的开始 (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)。

10、 设置系统时间

你也可以使用 date 来手工设置系统时间,方法是使用 --set 选项, 下面的例子会将系统时间设置成 2017 年 8 月 30 日下午 4 点 22 分。

date --set="20170830 16:22"

当然, 如果你使用的是我们的 VPS 托管服务[1],你总是可以联系并咨询我们的 Linux 专家管理员(通过客服电话或者下工单的方式)关于 date 命令的任何东西。他们是 24×7 在线的,会立即向您提供帮助。