将 X 天添加到 BASH 中的特定日期

Luc*_*pan 2 macos bash date

对 BASH 来说是全新的。提前道歉。


问题

我想将 X 天添加到特定日期。


代码

我发现date在 BASH 中检索当前日期。

我还发现我可以通过以下方式将 X 天添加到当前日期,

expiration_date=$ date -v +1d
Run Code Online (Sandbox Code Playgroud)

这使,

Tue Sep 26 20:28:13 CEST 2017 
Run Code Online (Sandbox Code Playgroud)

这确实是写作日期加上X=1天数。


date我想插入一个特定的日期,而不是在上面的命令行中添加 X 天,例如 20/09/2017。

不要关心特定日期的格式。

换句话说:我如何进行以下工作,

expiration_date=$ '20/09/2017' -v +1d
Run Code Online (Sandbox Code Playgroud)

试过这个答案,但没有做我想要的。


编辑:不知道 OSX 的情况有所不同。

anu*_*ava 9

你可以这样做:

dt='2017-09-20'

date -d "$dt +1 day"
Thu Sep 21 00:00:00 EDT 2017

date -d "$dt +2 day"
Fri Sep 22 00:00:00 EDT 2017
Run Code Online (Sandbox Code Playgroud)

OP 似乎正在使用 OSX。您可以这样使用日期添加:

s='20/09/2017'
date -j -v +1d -f "%d/%m/%Y" "$s"

Thu Sep 21 14:49:51 EDT 2017
Run Code Online (Sandbox Code Playgroud)