我今天遇到這樣一個問題,需要獲取兩個日期之間的日期列表。網上搜索了一下,得到了兩個Shell小腳本:
我們傳遞兩個日期參數,例如20111220,20121013,腳本會打印這兩個日期之間的日期列表。
- #!/bin/bash
- #
- startdate="$1"
- date1=$(date -d "$1" "+%s")
- date2=$(date -d "$2" "+%s")
- date_count=$(echo "$date2 - $date1"|bc)
- day_m=$(echo "$date_count"/86400|bc)
- for ((sdate=0;sdate<"$day_m";sdate++))
- do
- echo $(date -d "$startdate $sdate days" "+%F")
- done
這個腳本打印一年前直到今天的日期列表。
- #!/bin/bash
- #
- count=365
- while [[ $count -ge 0 ]]
- do
- date +"%Y%m%d" -d"$count day ago"
- count=$(($count-1))
- done