歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Shell打印日期列表

我今天遇到這樣一個問題,需要獲取兩個日期之間的日期列表。網上搜索了一下,得到了兩個Shell小腳本:

腳本一:
  1. #!/bin/bash 
  2. startdate="$1" 
  3. date1=$(date -d "$1" "+%s") 
  4. date2=$(date -d "$2" "+%s") 
  5. date_count=$(echo "$date2 - $date1"|bc) 
  6. day_m=$(echo "$date_count"/86400|bc) 
  7. for ((sdate=0;sdate<"$day_m";sdate++)) 
  8. do 
  9.         echo $(date -d "$startdate $sdate days" "+%F") 
  10. done 
我們傳遞兩個日期參數,例如20111220,20121013,腳本會打印這兩個日期之間的日期列表。
上述腳本來自http://blog.datatalk.cn/blog/2011/12/27/shell-%E6%97%A5%E6%9C%9F%E5%88%97%E8%A1%A8/,作者賈忠意。
  腳本二:
  1. #!/bin/bash 
  2. count=365 
  3. while [[ $count -ge 0 ]] 
  4. do 
  5.  date +"%Y%m%d" -d"$count day ago" 
  6.  count=$(($count-1)) 
  7. done 
這個腳本打印一年前直到今天的日期列表。
Copyright © Linux教程網 All Rights Reserved