我有一个日期传递到shell脚本,并且必须添加一个月。 例如:
passed_date=2017-06-01
我需要加1个月:
converted_date=2017-07-01
我如何在shell脚本中实现这一点。 我尝试将日期转换为自纪元以来的秒数,然后添加1个月,如:
date +%s -d 20170601 -d "+1 month"
然后通过
将秒转换回yyyy-mm-dddate -d@$(date +%s -d 20170601 -d "+1 month") +%Y-%m-%d
但它基本上将1个月添加到当前系统日期
答案 0 :(得分:5)
您似乎在寻找:
date -d "20170601+1 month" +%Y-%m-%d
在同一命令中使用多个-d
标志时,date
似乎只使用最后一个。
当然,您可以20170601
替换包含任何日期的$VAR
。
答案 1 :(得分:0)
对于macOS High Sierra
date -v+1m -j -f "%Y-%m-%d" "2017-06-01"