之前写过一篇博客是讲以当前时间为基础,获取几天前/后,几个小时前/后,几个月前/后,几年前/后,具体的详细解释在 Linux - date -d(一) 已经详细讲解,在此不再赘述。然而今天遇到一个问题是根据指定的时间获取前/后的时间。
以前是这样用的,直接输出所需要的时间
date "+%Y-%m-%d"
1、获取指定日期几个小时前的日期,相应的,如果需要几天/月/年 前的时间,可以将下面的 hours 换成 days,months,years 。因为用的markdown编辑器,有了特殊符号, 会自动格式化,所以这里我截图以便看的清楚。下列图中day2 的值是使用 ` 来取得命令的值,就是键盘上tab上面的键
2、获取指定日期几个小时后的日期,相应的,如果需要几天/月/年 后的时间,可以将下面的 hours 换成 days、months、years
需要注意的是,如果这里用的变量来接受date 的结果,需要将date 命令 用 ` 辅助,否则提示 command not found。
遗留的问题
不过我也遇到了我没有解决的问题
day="2016-12-12"date-d"+ 1 day $day"date-d"+ 1 day $day"+"%Y-%m-%d"
最后一句只不过加了格式化,语句就出现了错误,终于找到解决办法,是格式化前面阿哥加号的位置出现了问题,应该在双引号里面,或者直接将格式化的双引号去掉也可以。