bash脚本中的日期时间incermentor

时间:2018-04-24 08:31:38

标签: bash shell unix

我想在bash脚本中为昨天的日期打印一个值[1小时增量]。请帮忙 输出如下。

FROM_DATE : 2018-04-23T000000Z TO_DATE : 2018-04-23T005959Z
FROM_DATE : 2018-04-23T010000Z TO_DATE : 2018-04-23T015959Z
FROM_DATE : 2018-04-23T020000Z TO_DATE : 2018-04-23T025959Z

我的代码: 我可以使用以下代码获取小时。我能做几分钟

start='date +%s'

FROM_DATE=$(date -d "1 day ago" +%Y-%m-%d"T"%H%M%S"Z")

for i in {0..23}

do 
    start='date +%s'

    FROM_DATE=$FROM_DATE

    TO_DATE=$(date +%Y-%m-%d"T"%H%M%S"Z" -d "1 day ago""$date + $i hour")

     echo "FROM_DATE : $FROM_DATE"

     echo "TO_DATE : $TO_DATE"

     FROM_DATE=$TO_DATE

done 

[更新代码] - 提供正确的输出,如有任何优化或修改,请与我们联系 -

start='date +%s'

FROM_DATE=$(date -d "1 day ago" +%Y-%m-%d"T"%H"0000""Z")

for i in {0..5}

do 
  echo "FROM_DATE : $FROM_DATE"

  TO_DATE=$(date +%Y-%m-%d"T"%H"5959""Z" -d "1 day ago""$date + $i hour")

  echo "TO_DATE : $TO_DATE"

  FROM_DATE=$(date +%Y-%m-%d"T"%H"0000""Z" -d "1 day ago""$date + $i hour""$date + 1 hour")

done 

1 个答案:

答案 0 :(得分:0)

添加分钟的工作方式与您在几小时内的工作方式类似:

TO_DATE=$(date +%Y-%m-%d"T"%H%M%S"Z" -d "1 day ago""$date + $i minutes")

另见this question