#!/bin/bash
##要求传入的数据格式为yyyyMMdd的两个开始和结束参数,如20170601 20170101
start=20170601
end=20170101
##将输入的日期转为的时间戳格式
startDate=`date -d "${start}" +%s`
endDate=`date -d "${end}" +%s`
##计算两个时间戳的差值除于每天86400s即为天数差
# stampDiff=`expr $endDate - $startDate`
stampDiff=`expr $startDate - $endDate`
dayDiff=`expr $stampDiff / 86400`
##根据天数差循环输出日期
for((i=0;i<=$dayDiff;i++))
do
process_date=`date -d "${start} -$i day" +'%Y%m%d'`
echo $process_date >> dateFile.txt
done
(转)shell计算两个日期之间的时间天数差,并获取出中间的日期
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 计算机是如何计算两个日期之间的天数的,这个问题看起来好像很简单,但是仔细一想,好像还没那么简单,月与月之间天数不一...
- 两个时间相差多少 .net中的timespan应用2008/11/10 11:54TimeSpan 对象表示时间间...