linux date命令

date -d <字符串>:显示当前字符串中所指的时间和日期

[root@Host0 ~]# date -d 20160101
Fri Jan  1 00:00:00 CST 2016

date +%s:从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

下面例子就是从 1970 年 1 月 1 日 00:00:00 UTC 到目前20160101(Fri Jan 1 00:00:00 CST 2016)的秒数

[root@Host0 ~]# second=`date -d 20160101 +%s`
[root@Host0 ~]# printf $second
1451577600

变量second+1day:

这种写法不能得到计算结果:

[root@Host0 ~]# second=$second+86400
[root@Host0 ~]# printf $second
1451577600+86400

这样写可得到计算结果:

[root@Host0 ~]# second=`date -d 20160101 +%s`
[root@Host0 ~]# second=$(($second+86400))
[root@Host0 ~]# printf $second
1451664000

在输入$second对应的日期(记得在$second前面添加@):

[root@Host0 ~]# date -d @"$second" +%Y%m%d
20160102

上述实现了日期+1day。

原文地址:https://www.cnblogs.com/Skyar/p/5916687.html