#!/bin/sh
if [ $# == 2 ]; then
datebeg=$1
dateend=$2
else
echo "請輸入開始時間和結束日期,格式爲2017-04-04"
exit 1
fi
beg_s=`date -d "$datebeg" +%s`
end_s=`date -d "$dateend" +%s`
echo "處理時間範圍:$beg_s 至 $end_s"
while [ "$beg_s" -le "$end_s" ];do
day=`date -d @$beg_s +"%Y-%m-%d"`;
echo "當前日期:$day"
beg_s=$((beg_s+86400));
done
echo "日期全部處理完成"
日期格式字符串列表
%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)(不加參數時的效果)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一爲第一天)
%y 年的最後兩個數字(1999則是99)
- 使用當前時間,可以忽略選項,指明格式化參數.如
date +"%Y-%m-%d"
- 使用其餘時間,需要
-d
參數,後面需要再跟字符串表達時間偏移值