如何在Bash中将几秒钟添加到日期时间戳?

时间:2019-07-04 00:20:40

标签: bash datetime

假设我有一个以以下方式制作的字符串日期时间戳记:

datetimestamp="$(date "+%Y-%m-%dT%H%MZ" --utc)"

我如何轻松地为此添加几秒钟并以相同的格式打印结果?假设我要增加两个月(5184000秒)。

1 个答案:

答案 0 :(得分:2)

非常简单:

date '+%Y-%m-%dT%H%MZ' --utc --date 'now +5184000 seconds'

让我们测试一下:

date '+%Y-%m-%dT%H%MZ' --utc; date '+%Y-%m-%dT%H%MZ' --utc --date 'now +5184000 seconds'

输出:

2019-07-04T0036Z
2019-09-02T0036Z

或者只是这个:

date '+%Y-%m-%dT%H%MZ' --utc --date 'now +2 month'

扩展问题的示例代码:

#!/usr/bin/env bash

sec_offset=5184000
datetimestamp="$(\
  date \
    '+%Y-%m-%dT%H%MZ' \
    --utc \
    --date "now + ${sec_offset} seconds"
)"