我试图弄清楚如何从日期中减去天数,假设我设置了当前日期
set $date
我怎样才能从中减去几天并获得该期间的日期?
例如27jul2012
减 5 变成22jul2012
您可以使用date
来计算差异,例如
date -d "27jul2012 - 5 days" +%d%b%Y
先转换成秒,减去五天的秒数再转换回来:
date --date=@$(($(date --date='27 Jul 2012' +'%s') - $((5 * 24 * 3600)) )) +%x
您可以使用 date 实用程序以秒为单位转换您的日期。请参阅Bash 脚本比较两个日期变量。
您还可以从当前日期执行几种不同类型的加法和减法。看看那里: http: //linuxconfig.org/addition-and-subtraction-arithmetics-with-linux-date-command
稍短的版本:
date --date="@$(expr $(date +%s) - 432000)"
其中 432000 是 5 天内的秒数。