Bash 生成过去 6 个月的格式化日期

Bash 生成过去 6 个月的格式化日期

我想运行一个脚本来检索过去 6 个月内每天的 api 结果。api 端点使用日期作为

/url/yyyy/mm/dd

我如何使用 bash 生成日期来实现这一点?

答案1

下面的脚本可能会帮到你 - 尽管你可能想要计算6个月前(更准确地说是秒数 - 我只是使用了31天*6)。

#! /bin/bash

URL="/url/"

# Key times in seconds
sixmonths=$(( 60 * 60 * 24 * 31 * 6 ))
oneday=$(( 60 * 60 * 24 ))
CURRENTSECS=`/bin/date +%s`
STARTDATEINSECS=$(( $CURRENTSECS - $sixmonths ))

i=$STARTDATEINSECS
while [ $i -le $CURRENTSECS ]
do
    echo $URL`/bin/date -d @$i +"%Y/%m/%d"`
    i=$(( $i + $oneday ))
done

相关内容