使用开始和结束日期时间显示每分钟的时间

使用开始和结束日期时间显示每分钟的时间

我想编写一个脚本来显示两个日期和时间之间每分钟的时间。开始和结束时间间隔可以是任意值,可以是 5 分钟、3 小时、30 天等。

例子:

Start time: 2019-12-31 23:57:00
End Time  : 2020-01-01 00:03:00

结果:

 2019-12-31 23:57:00
 2019-12-31 23:58:00
 2019-12-31 23:59:00
 2020-01-01 00:00:00
 2020-01-01 00:01:00
 2020-01-01 00:02:00
 2020-01-01 00:03:00

编辑:使用该选项时出现以下错误-d

     date: Not a recognized flag: d
     Usage: date [-u] [+"Field Descriptors"]

答案1

date使用可以处理诸如 之类的表达式的GNU +1 minute,这非常简单:

#!/bin/bash
start='2019-12-31 23:57:00'
end='2020-01-01 00:03:00'

date=$start
while [[ $date < $end || $date == $end ]] ; do
    echo "$date"
    date=$(date -d "+1 minute $date" '+%Y-%m-%d %H:%M:%S')
done

相关内容