如何使用 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)。 | 
| %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. 如果你喜欢这篇帖子,请点击下面的按钮分享或者留言。谢谢。
via: https://www.rosehosting.com/blog/use-the-date-command-in-linux/
作者:rosehosting 译者:lujun9972 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
 
 
                     
                     
                     
                    