Linux
date 命令用于显示和设置 Linux 系统上的日期和时间设置。

1、不带选项的Date命令

date命令不加任何命令选项,它显示当前日期和时间,包括星期几,月份,年份,h:m:s格式的时间以及时区,如下所示。

  1. [root@server1 ~]# date
  2. Mon May 24 14:50:31 CST 2021

image.png

2、以世界标准时间显示

要以UTC(世界标准时间)显示时间,需要加-u选项。

[root@server1 ~]# date -u
Mon May 24 06:51:21 UTC 2021

image.png

3、以字符串格式显示特定日期

可以使用--date选项以字符串格式显示特定日期,这不会影响系统的日期和时间,只是将日期格式转换为字符串:

[root@server1 ~]# date --date="5/20/2021 13:14"
Thu May 20 13:14:00 CST 2021

image.png

4、使用date命令检查过去的日期

date命令还可以打印相对于当前日期的过去日期和时间。例如查看9天前的日期是多少,请运行命令:

[root@server1 ~]# date --date="9 days ago"
Sat May 15 14:56:47 CST 2021

image.png
查看三个月前的日期是多少:

[root@server1 ~]# date --date="3 months ago"
Wed Feb 24 14:57:29 CST 2021

image.png
查看两年前的今天日期是多少:

[root@server1 ~]# date --date="2 years ago"
Fri May 24 15:02:40 CST 2019

image.png

5、使用date命令检查未来的日期

date命令也可以显示将来的日期,例如查看明天的日期是多少:

[root@server1 ~]# date --date="tomorrow"
Tue May 25 14:58:49 CST 2021

image.png
要检查从现在起一周后的确切日期,请运行:

[root@server1 ~]# date --date="next week"
Mon May 31 14:59:27 CST 2021

image.png
显示3周后的日期:

[root@server1 ~]# date --date="3 weeks"
Mon Jun 14 15:00:11 CST 2021

image.png
显示4个月后的日期,请执行以下操作:

[root@server1 ~]# date --date="4 months"
Fri Sep 24 15:01:42 CST 2021

image.png
显示两年后今天的日期:

[root@server1 ~]# date --date="2 years"
Wed May 24 15:03:32 CST 2023

image.png

6、date命令的选项

date命令带有许多选项,面列出了一些可用的格式设置选项。

  • %D – 日期显示格式为 月/日/年
  • %Y – 年份(例如:2021)
  • %m – 月份(01-12)
  • %B – 月份的完整名称 (例如 January)
  • %b – 月份的短名称 (例如 Jan)
  • %d – 月份中的哪一天 (例如 01)
  • %j – 一年中的第几天(001-366)
  • %u – 一个星期中的第几天 (1-7)
  • %A – 星期几的全程(例如 Friday)
  • %a – 星期几的短名称 (例如 Fri)
  • %H – 小时,24小时制 (00-23)
  • %I – 小时,12小时制 (01-12)
  • %M – 分钟 (00-59)
  • %S – 秒 (00-60)

使用date选项的语法非常简单:

date "+%option"

例如,要以yy/mm/dd格式打印日期,请运行:

[root@server1 ~]# date "+%Y/%m/%d"
2021/05/24

image.png
要打印星期几,月份,日,年份和当前时间,请执行以下操作:

[root@server1 ~]# date "+%A %B %d %Y %T"
Monday May 24 2021 15:24:07

7、如何设置日期和时间

date命令还允许设置日期和时间。例如,要将日期和时间设置为2021年6月25日上午11:15,请运行以下命令:

[root@server1 ~]# date --set="20210625 11:15"
Fri Jun 25 11:15:00 CST 2021

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