0

我试图弄清楚如何从日期中减去天数,假设我设置了当前日期

set $date

我怎样才能从中减去几天并获得该期间的日期?

例如27jul2012减 5 变成22jul2012

4

4 回答 4

5

您可以使用date来计算差异,例如

date -d "27jul2012 - 5 days" +%d%b%Y
于 2012-07-23T13:57:58.880 回答
1

先转换成秒,减去五天的秒数再转换回来:

date --date=@$(($(date --date='27 Jul 2012' +'%s') - $((5 * 24 * 3600)) )) +%x
于 2012-07-23T13:53:12.247 回答
0

您可以使用 date 实用程序以秒为单位转换您的日期。请参阅Bash 脚本比较两个日期变量

您还可以从当前日期执行几种不同类型的加法和减法。看看那里: http: //linuxconfig.org/addition-and-subtraction-arithmetics-with-linux-date-command

于 2012-07-23T13:56:36.830 回答
0

稍短的版本:

date --date="@$(expr $(date +%s) - 432000)"

其中 432000 是 5 天内的秒数。

于 2012-07-23T14:03:57.040 回答