
linux shell 获取是一个时间段的日期
#!/bin/bashread-p"输入日期(例如:20130101),并按回车:"inStepexportTIMESTR=$inStep#获取当天日期-1exportT...
#!/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
能否修改成输入一个 起始日期 和 结束日期 并遍历显示出来? 展开
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个回答
展开全部
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询