我有一个bash脚本,它接受一个日期的参数(yyyy-mm-dd)
我把它转换为秒
startdate="$(date -d"$1" +%s)";
Run Code Online (Sandbox Code Playgroud)
我需要做的是迭代8次,每次将纪元日期增加1天,然后以mm-dd-yyyy格式显示
swd*_*dev 68
使用date命令的功能可以将天数添加到现有日期.
下列:
DATE=2013-05-25
for i in {0..8}
do
NEXT_DATE=$(date +%m-%d-%Y -d "$DATE + $i day")
echo "$NEXT_DATE"
done
Run Code Online (Sandbox Code Playgroud)
生产:
05-25-2013
05-26-2013
05-27-2013
05-28-2013
05-29-2013
05-30-2013
05-31-2013
06-01-2013
06-02-2013
Run Code Online (Sandbox Code Playgroud)
请注意,这适用于您的情况,但其他日期格式(如yyyymmdd)可能需要在日期字符串中包含"UTC"(例如date -ud "20130515 UTC + 1 day")
startdate=$(date -d"$1" +%s)
next=86400 # 86400 is one day
for (( i=startdate; i < startdate + 8*next; i+=next )); do
date -d"@$i" +%d-%m-%Y
done
Run Code Online (Sandbox Code Playgroud)