2017-04-03 73 views
0

我在变量x=20170402中有一个日期,从另一个文件中获取该值。
我想通过添加/减去并保存到新变量来修改此。我怎样才能做到这一点?如果我减去一天,y=20170401;两天,y=20170331
它是基于GNU的。如何从变量中减去或添加日期?

+0

你有'GNU日期'吗?或'FreeBSD'吗?输出日期 - 版本? – Inian

+1

你也可以提供你需要输入的精确输出吗?这些信息是不够的 – Inian

回答

4

随着GNU date它可以很容易地完成它的-d开关。

x=20170402 
date -d "$x -1 days" "+%Y%m%d" 
20170401 

和2天

date -d "$x - 2 days" "+%Y%m%d" 
20170331 
2

命令日期应该是足够的。

$ x=20170402; 
$ date -d "$x 1 day ago" +'%Y%m%d' 
20170401 

$ date -d "$x 2 day ago" +'%Y%m%d' 
20170331 
0

-d标志为此将达到目的。 $Number是您希望减少的天数。

x=20170402 
past_date=$(date -d "$x - $Number days" +%Y%m%d) 
echo "$past_date"