#!/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本回答被提问者采纳
#!/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本回答被提问者采纳