date命令用法
date +%Y-%m-%d, date +%y-%m-%d 年月日
date +%H:%M:%S = date +%T 时间
date +%s 时间戳
date -d @1504620492
date -d "+1day" 一天后
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 min" 一分钟前
date +%w, date +%W 星期
date命令用法
1、date命令,会显示当前系统时间日期
[root@xuexi-001 ~]# date
2018年 09月 11日 星期二 21:10:08 CST
2、date命令,在shell中用处非常大;对文件后缀增加一个时间,以便后期管理
3、date +%Y-%m-%d, date +%y-%m-%d 年月日
[root@xuexi-001 ~]# LANG=en切换为英文显示
[root@xuexi-001 ~]# date
Tue Sep 11 21:14:58 CST 2018
[root@xuexi-001 ~]# date +%Y
2018四位的年
[root@xuexi-001 ~]# date +%y
18两位的年
[root@xuexi-001 ~]# date +%m
09月份
[root@xuexi-001 ~]# date +%M
16分钟
[root@xuexi-001 ~]# date +%d
11日期
[root@xuexi-001 ~]# date +%D
09/11/18直接标记年月日,不过格式比较特殊
[root@xuexi-001 ~]# date +%Y%m%d
20180911年月日
[root@xuexi-001 ~]# date +%F
2018-09-11年月日,这种带横杠的
4、常见时间单位
[root@xuexi-001 ~]# date +%w
2表示周二
[root@xuexi-001 ~]# date +%W
37今年的第几周,今年的第二周
[root@xuexi-001 ~]# date +%h
Sep英文的月份
[root@xuexi-001 ~]# date +%H
21小时
[root@xuexi-001 ~]# date +%S
00秒
[root@xuexi-001 ~]# date +%s
1536672074这是一个时间戳,距离1970总共过去多少秒
5、时间其他标记方法
date +%H:%M:%S
date +%T 时间
[root@xuexi-001 ~]# date +%H:%M:%S
21:22:47
[root@xuexi-001 ~]# date +%T
21:23:14
6、显示日历 cal命令,查看到日期
[root@xuexi-001 ~]# cal
September 2018
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
7、标记之前的日期
比如:在做nginx日志切割的时候,到了凌晨切割日志,到了零点零分切割的日志是前一天的日志。所以把日志加一个时间标记的话,应标记为昨天的日期
8、学会用date标记之前的日期
day、month、year、hour、min后面可以加 s 可以不加 s
减号- 表示之前的日期,加号 + 表示从今往后的日期
date -d "-1 day" +%F 显示前一天的日期
date -d "-1 month" +%F 显示上个月的日期
date -d "-1 years" +%F 显示上一年的日期
date -d "+1 hour" +%T 显示下一小时
date -d "+1 min" +%T 显示下一分钟
[root@xuexi-001 ~]# date -d "-1 day"
Mon Sep 10 21:27:10 CST 2018
[root@xuexi-001 ~]# date -d "-1 day" +%F
2018-09-10
[root@xuexi-001 ~]# date -d "-1 month" +%F
2018-08-11
[root@xuexi-001 ~]# date -d "+1 year" +%F
2019-09-11
[root@xuexi-001 ~]# date -d "+1 hour" +%T
22:29:26
[root@xuexi-001 ~]# date -d "+1 min" +%T
21:30:55
9、时间戳
date +%s
另一种表现方法,表示时间戳
date -d @1536672696 就是@后跟时间戳
[root@xuexi-001 ~]# date +%s
1536672696
[root@xuexi-001 ~]# date -d @1536672696
Tue Sep 11 21:31:36 CST 2018
10、若想在linux系统中,把具体的日期换算成时间戳的时候,可以使用date +%s -d "2018-09-11 21:22:11"
[root@xuexi-001 ~]# date +%s -d "2018-09-11 21:22:11"
1536672131
[root@xuexi-001 ~]# date -d @1536672131
Tue Sep 11 21:22:11 CST 2018