shell 实现日期按自定义步长遍历
实现思路: 输入时间转时间戳,按固定步长更新时间戳,然后在转为时间展示
#!/bin/bash if [ -z $1 ]; then echo 'plz input start time, example: 2025-01-01' exit 1 fi start_timestamp=`date -d "$1" +%s` if [ -z $start_timestamp ]; then echo "invalid start time, input: $1" exit 1 fi end_time="$2" if [ -z $2 ]; then end_time=`date +%F` fi end_timestamp=`date -d "$end_time" +%s` dur=86400 # 步长 1 天, 可通过修改这里实现自定义步长 st=$start_timestamp et=$end_timestamp while [ $st -le $et ]; do ett=$((st+dur)) stm=`date -d@${st} +%F` etm=`date -d@${ett} +%F` # TODO: 填充代码 echo -e "# \033[31mstart_time:$stm end_time:$etm \033[0m" st=$ett done
执行效果

如果是此文是转载文章,本人会附上转载链接,此篇文章的版权归原创作者所属,如果侵权请与我联系,我会删除此文。
若没有标明转载链接,此篇文章属于本人的原创文章,其版权所属:
作者:feiquan
出处:http://www.cnblogs.com/feiquan/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*)
若没有标明转载链接,此篇文章属于本人的原创文章,其版权所属:
作者:feiquan
出处:http://www.cnblogs.com/feiquan/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*)

浙公网安备 33010602011771号