在本文中, 我们会通过一些案例来演示如何使用 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
)。
%R
24 小时制的小时和分钟;同
%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 托管服务,你总是可以联系并咨询我们的 Linux 专家管理员(通过客服电话或者下工单的方式)关于 date
命令的任何东西。他们是 24×7 在线的,会立即向您提供帮助。(LCTT 译注:原文的广告~)
PS. 如果你喜欢这篇帖子,请点击下面的按钮分享或者留言。谢谢。