linux shell 获取是一个时间段的日期

#!/bin/bash
read -p "输入日期(例如:20130101),并按回车:" inStep
export TIMESTR=$inStep
#获取当天日期-1
export TIMESTR=`date +%Y%m%d`
export TM=`date +%s -d "$TIMESTR"`
export TM=$(($TM - 1 * 24 * 3600))
export TIMESTR=`date +%Y%m%d -d@"$TM"`
echo 日期 = $TIMESTR

能否修改成输入一个 起始日期 和 结束日期 并遍历显示出来?

第1个回答  2014-03-26
1、date.sh代码
#!/bin/sh

beg_date=`date -d "$1" +%s`
end_date=`date -d "$2" +%s`

if [[ -z $1 ]]||[[ -z $2 ]];then
echo "Usage: $0 YYYYMMDD YYYYMMDD"
exit 0;
fi
if [[ ${beg_date} > ${end_date} ]];then
echo "The end_date < beg_date ;Please input the right date,example: $0 20140101 20140301"
exit 0;
fi
for (( i=${beg_date};i<=${end_date};i=i+86400))
do
date -d @${i} +%Y%m%d
done
2、实例./date.sh 20140101 20140201本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网