diff --git a/published/20171205 How to Use the Date Command in Linux.md b/published/20171205 How to Use the Date Command in Linux.md new file mode 100644 index 0000000000..007463d87d --- /dev/null +++ b/published/20171205 How to Use the Date Command in Linux.md @@ -0,0 +1,158 @@ +如何使用 date 命令 +====== + +![](https://www.rosehosting.com/blog/wp-content/uploads/2017/12/How-to-Use-the-Date-Command-in-Linux.jpg) + +在本文中, 我们会通过一些案例来演示如何使用 Linux 中的 `date` 命令。`date` 命令可以用户输出/设置系统日期和时间。 `date` 命令很简单, 请参见下面的例子和语法。 + +默认情况下,当不带任何参数运行 `date` 命令时,它会输出当前系统日期和时间: + +```shell +$ 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 周后的日期 + +```shell +date -d "5 weeks" +Sun Jan 7 19:53:50 CST 2018 +``` + +#### 2、 查找 5 周后又过 4 天的日期 + +```shell +date -d "5 weeks 4 days" +Thu Jan 11 19:55:35 CST 2018 +``` + +#### 3、 获取下个月的日期 + +```shell +date -d "next month" +Wed Jan 3 19:57:43 CST 2018 +``` + +#### 4、 获取下周日的日期 + +```shell +date -d last-sunday +Sun Nov 26 00:00:00 CST 2017 +``` + +`date` 命令还有很多格式化相关的选项, 下面的例子向你演示如何格式化 `date` 命令的输出. + +#### 5、 以 `yyyy-mm-dd` 的格式显示日期 + +```shell +date +"%F" +2017-12-03 +``` + +#### 6、 以 `mm/dd/yyyy` 的格式显示日期 + +```shell +date +"%m/%d/%Y" +12/03/2017 +``` + +#### 7、 只显示时间 + +```shell +date +"%T" +20:07:04 +``` + +#### 8、 显示今天是一年中的第几天 + +```shell +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 分。 + +```shell +date --set="20170830 16:22" +``` + +当然, 如果你使用的是我们的 [VPS 托管服务][1],你总是可以联系并咨询我们的 Linux 专家管理员(通过客服电话或者下工单的方式)关于 `date` 命令的任何东西。他们是 24×7 在线的,会立即向您提供帮助。(LCTT 译注:原文的广告~) + +PS. 如果你喜欢这篇帖子,请点击下面的按钮分享或者留言。谢谢。 + +-------------------------------------------------------------------------------- + +via: https://www.rosehosting.com/blog/use-the-date-command-in-linux/ + +作者:[rosehosting][a] +译者:[lujun9972](https://github.com/lujun9972) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:https://www.rosehosting.com +[1]:https://www.rosehosting.com/hosting-services.html diff --git a/translated/tech/20171205 How to Use the Date Command in Linux.md b/translated/tech/20171205 How to Use the Date Command in Linux.md deleted file mode 100644 index 9564b72e69..0000000000 --- a/translated/tech/20171205 How to Use the Date Command in Linux.md +++ /dev/null @@ -1,163 +0,0 @@ -如何使用 Date 命令 -====== -在本文中, 我们会通过一些案例来演示如何使用 linux 中的 date 命令. date 命令可以用户输出/设置系统日期和时间. Date 命令很简单, 请参见下面的例子和语法. - -默认情况下,当不带任何参数运行 date 命令时,它会输出当前系统日期和时间: - -```shell -date -``` - -``` -Sat 2 Dec 12:34:12 CST 2017 -``` - -#### 语法 - -``` -Usage: date [OPTION]... [+FORMAT] - or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] -Display the current time in the given FORMAT, or set the system date. - -``` - -### 案例 - -下面这些案例会向你演示如何使用 date 命令来查看前后一段时间的日期时间. - -#### 1\. 查找5周后的日期 - -```shell -date -d "5 weeks" -Sun Jan 7 19:53:50 CST 2018 - -``` - -#### 2\. 查找5周后又过4天的日期 - -```shell -date -d "5 weeks 4 days" -Thu Jan 11 19:55:35 CST 2018 - -``` - -#### 3\. 获取下个月的日期 - -```shell -date -d "next month" -Wed Jan 3 19:57:43 CST 2018 -``` - -#### 4\. 获取下周日的日期 - -```shell -date -d last-sunday -Sun Nov 26 00:00:00 CST 2017 -``` - -date 命令还有很多格式化相关的选项, 下面的例子向你演示如何格式化 date 命令的输出. - -#### 5\. 以 yyyy-mm-dd 的格式显示日期 - -```shell -date +"%F" -2017-12-03 -``` - -#### 6\. 以 mm/dd/yyyy 的格式显示日期 - -```shell -date +"%m/%d/%Y" -12/03/2017 - -``` - -#### 7\. 只显示时间 - -```shell -date +"%T" -20:07:04 - -``` - -#### 8\. 显示今天是一年中的第几天 - -```shell -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**); same as **%_H**. | -| **%l** | 小时, 用空格填充 ( **1**..**12**); same as **%_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** | tab 制表符. | -| **%T** | 时间; 同 **%H:%M:%S**. | -| **%u** | 星期 (**1**..**7**); 1 表示 **星期一**. | -| **%U** | 一年中的第几个星期, 以周日为一周的开始 (**00**..**53**). | -| **%V** | 一年中的第几个星期,以周一为一周的开始 (**01**..**53**). | -| **%w** | 用数字表示周几 (**0**..**6**); 0 表示 **周日**. | -| **%W** | 一年中的第几个星期, 周一为一周的开始 (**00**..**53**). | -| **%x** | Locale’s date representation (像这样, **12/31/99**). | -| **%X** | Locale’s time representation (像这样, **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分 - -```shell -date --set="20170830 16:22" - -``` - -当然, 如果你使用的是我们的 [VPS Hosting services][1], 你总是可以联系并咨询我们的Linux专家管理员 (通过客服电话或者下工单的方式) 关于 date 命令的任何东西. 他们是 24×7 在线的,会立即向您提供帮助. - -PS. 如果你喜欢这篇帖子,请点击下面的按钮分享或者留言. 谢谢. - --------------------------------------------------------------------------------- - -via: https://www.rosehosting.com/blog/use-the-date-command-in-linux/ - -作者:[][a] -译者:[lujun9972](https://github.com/lujun9972) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]:https://www.rosehosting.com -[1]:https://www.rosehosting.com/hosting-services.html