Hen*_*ötz 13 macos bash shell date
OS X(Snow Leopard)上的日期函数没有像GNU版本那样的--date选项,我无法弄清楚如何在OS X上获得以下内容:
startdate=2010-01-01
enddate=2010-01-31
foldate="$startdate"
until [ "$foldate" == "$enddate" ]
do
# do something with the date here - like pass it as a parameter to a command
foldate=`/bin/date --date "$foldate 1 day" +%Y-%m-%d`
done
Run Code Online (Sandbox Code Playgroud)
解决了SiegeX的答案:
startdate=2010-01-01
enddate=2010-01-31
sDateTs=`date -j -f "%Y-%m-%d" $startdate "+%s"`
eDateTs=`date -j -f "%Y-%m-%d" $enddate "+%s"`
dateTs=$sDateTs
offset=86400
while [ "$dateTs" -le "$eDateTs" ]
do
date=`date -j -f "%s" $dateTs "+%Y-%m-%d"`
printf '%s\n' $date
dateTs=$(($dateTs+$offset))
done
Run Code Online (Sandbox Code Playgroud)
man date通过运行并查看选项来阅读您的日期的联机帮助页-v。以下是摘录:
-v 根据 val 调整(即获取当前日期并显示调整结果;不实际设置日期)秒、分、小时、月日、星期几、月或年。如果 val 前面带有加号或减号,则根据剩余字符串向前或向后调整日期,否则设置日期的相关部分。使用这些标志可以根据需要多次调整日期。标志按照给定的顺序进行处理。
| 归档时间: |
|
| 查看次数: |
4019 次 |
| 最近记录: |