在 Linux 系统中保持准确的日期是任何 Linux 用户都应该掌握的基本技能之一,Linux date 命令用于显示和设置 Linux 系统的日期和时间。
本教程将向您展示如何使用 date 命令在 Linux 系统上显示和设置日期。
基本语法
$ date [option]… [+format]
(1) date 命令,不带选项
在本节部分,不带任何选项,date 命令以其基本形式显示当前的日期和时间,包括周、月、年的日期,时间格式为 hh:mm:ss,以及时区如下所示。
$ date
Sun May 9 15:41:17 IST 2021
$
(2) 显示 UTC 的日期和时间
使用 -u 选项以 UTC (协调世界时),以前称为 GMT (格林尼治标准时间) 显示时间。
$ date -u
Sun May 9 10:11:59 UTC 2021
$
(3) 以字符串格式显示特定日期
可以使用 --date 选项以字符串格式显示特定日期,如下所示。请注意,这不会影响系统的日期和时间,而只是将日期格式转换为字符串。
$ date --date="10/10/2021"
Sun Oct 10 00:00:00 IST 2021
$
(4) 查看过去的日期
date 命令还可以打印相对于当前日期的过去日期和时间。
检查9天前的日期
$ date --date="9 days ago"
Fri Apr 30 15:45:28 IST 2021
$
查看两周前的日期
$ date --date="2 weeks ago"
Sun Apr 25 15:47:11 IST 2021
$
查看三个月前的日期
$ date --date="3 months ago"
Tue Feb 9 15:47:52 IST 2021
$
查看三年前的日期
$ date --date="3 years ago"
Wed May 9 15:49:04 IST 2018
$
(5) 查看未来的日期
正如可以查看过去的日期一样,date 命令也可以显示未来的日期。
查看明天的日期
$ date --date="tomorrow"
Mon May 10 15:50:14 IST 2021
$
查看1周后的日期
$ date --date="next week"
Sun May 16 15:51:03 IST 2021
$
查看2周后的日期
$ date --date="2 weeks"
Sun May 23 15:51:46 IST 2021
$
查看4个月后的日期
$ date --date="4 months"
Thu Sep 9 15:52:33 IST 2021
$
查看2年后的日期
$ date --date="2 years"
Tue May 9 15:53:20 IST 2023
$
(6) 格式化选项
date 命令附带了许多选项,允许您自定义日期输出。下面列出了一些可用的格式化选项。
- %D – Display date in the format mm/dd/yy
- %Y – Year (e.g., 2021)
- %m – Month (01-12)
- %B – Month name in the full string format (e.g., February)
- %b – Month name in the shortened string format (e.g., Feb)
- %d – Day of month (e.g., 01)
- %j – Day of year (001-366)
- %u – Day of the week (1-7)
- %A – Weekday in full string format(e.g., Friday)
- %a – Weekday in shortened format (e.g., Fri)
- %H – Hour (00-23)
- %I – Hour (01-12)
- %M – Minute (00-59)
- %S – Second (00-60)
使用日期选项的语法非常简单
$ date “+%option”
以 yy/mm/dd 格式打印日期
$ date "+%Y-%m-%m"
2021-05-05
$
打印当天的星期、月、年和时间
$ date "+%A %B %Y %T"
Sunday May 2021 15:55:56
$
(7) 设置日期和时间
日期命令还允许您设置日期和时间。例如,将日期和时间设置为 2021 年 6 月 25 日上午 11:15
$ sudo date --set="20210625 11:15"
Fri Jun 25 11:15:00 IST 2021
$
注意: 系统时间最有可能不准确,不建议您使用上述方式设置系统的日期和时间。实现这一目标的更好方法是使用 Chrony Utility
如果您想要更改时区,那么使用 timedatectl 命令
$ sudo timedatectl set-timezone Asia/Kolkata
(8) 在变量中使用 date 命令
有时在创建 shell 脚本时,我们将 date 命令保存到一个变量,然后使用该变量创建日志文件,如下所示
#!/bin/bash
LOGFILE=/tmp/logs-$(date +%d-%m-%Y_%T)
echo "##Check Cluster for Failed Resources##" >> $LOGFILE
crm_mon -1 -rf | grep FAILED >> $LOGFILE
echo -e "\n\n" >> $LOGFILE
echo "##Check Cluster for Stopped Resources##" >> $LOGFILE
crm_mon -1 -rf | grep -i STOPPED >> $LOGFILE
echo -e "\n\n" >> $LOGFILE
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。