#!/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
参数,后面需要再跟字符串表达时间偏移值