Linux date命令:可以用来显示或设定系统的日期与时间。
在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:
时间方面:
日期方面:
格式:
“+”号的作用:
设置时间:
date的参数介绍:
 
1 [root@oldboy ~]# date -d "20191111" 2 Mon Nov 11 00:00:00 CST 2019 3 [root@oldboy ~]# date --date "20191111" 4 Mon Nov 11 00:00:00 CST 2019 5 [root@oldboy ~]# date --date="20191111" 6 Mon Nov 11 00:00:00 CST 2019
 
1 [root@oldboy oldboy]# cat date_str.txt 2 19900101 3 19900221 4 18900223 5 20000101 6 20011211 7 8 [root@oldboy oldboy]# date -f date_str.txt 9 Mon Jan 1 00:00:00 CST 1990 10 Wed Feb 21 00:00:00 CST 1990 11 Sun Feb 23 00:00:00 LMT 1890 12 Sat Jan 1 00:00:00 CST 2000 13 Tue Dec 11 00:00:00 CST 2001 14 Tue Nov 5 00:00:00 CST 2019
 
1 [root@oldboy oldboy]# date -r date_str.txt 2 Tue Nov 5 16:51:57 CST 2019 3 [root@oldboy oldboy]# stat date_str.txt 4 File: `date_str.txt‘ 5 Size: 46 Blocks: 8 IO Block: 4096 regular file 6 Device: 803h/2051d Inode: 275537 Links: 1 7 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) 8 Access: 2019-11-05 16:52:05.917278303 +0800 9 Modify: 2019-11-05 16:51:57.138275752 +0800 10 Change: 2019-11-05 16:51:57.138275752 +0800 11 [root@oldboy oldboy]# stat date_str.txt|grep Modify 12 Modify: 2019-11-05 16:51:57.138275752 +0800
 
1 [root@oldboy oldboy]# date -s "19910101" 2 Tue Jan 1 00:00:00 CST 1991 3 [root@oldboy oldboy]# date 4 Tue Jan 1 00:00:01 CST 1991
 
1 [root@oldboy oldboy]# date 2 Tue Jan 1 00:00:26 CST 1991 3 [root@oldboy oldboy]# date -u 4 Mon Dec 31 16:00:28 UTC 1990
时间加减:
1. 具体的显示昨天,或者一天之后,一天之前
 
1 [root@oldboy oldboy]# date -d "yesterday" 2 Mon Nov 4 16:59:23 CST 2019 3 [root@oldboy oldboy]# date -d "yesterday" "+%Y-%m-%d %H:%M:%S" 4 2019-11-04 16:59:42 5 [root@oldboy oldboy]# date -d "tomorrow" "+%Y-%m-%d %H:%M:%S" 6 2019-11-06 16:59:53 7 [root@oldboy oldboy]# date -d "1 days" "+%Y-%m-%d %H:%M:%S" 8 2019-11-06 17:00:06 9 [root@oldboy oldboy]# date -d "+1 days" "+%Y-%m-%d %H:%M:%S" 10 2019-11-06 17:00:11 11 [root@oldboy oldboy]# date -d "-1 days" "+%Y-%m-%d %H:%M:%S" 12 2019-11-04 17:00:24 13 [root@oldboy oldboy]# date -d "-1 days" "+%Y-%m-%d %H:%M:%S"
2. 具体的显示一小时之后,一分钟之前等
 
1 [root@oldboy oldboy]# date -d "2 hours" "+%Y-%m-%d %H:%M:%S" 2 2019-11-05 19:02:02 3 [root@oldboy oldboy]# date -d "-2 hours" "+%Y-%m-%d %H:%M:%S" 4 2019-11-05 15:02:07 5 6 [root@oldboy oldboy]# date -d "-2 minutes" "+%Y-%m-%d %H:%M:%S" 7 2019-11-05 17:00:23 8 [root@oldboy oldboy]# date -d "-2 hour 2 minute" "+%Y-%m-%d %H:%M:%S" 9 2019-11-05 15:04:33
应用注意点:
1. 在crontab中直接设置时间的命令,而不是在脚本中实现,再调用脚本的命令个,则要注意将%转义。
- %要转义(脚本中无需转义)
- 示例: * * * * * tar zvf /tmp/service-oldboy-$(date +\%F-\%H).tar.gz /etc/services
原文:https://www.cnblogs.com/zoe233/p/11799169.html