Как можно добавить некоторое количество секунд к метке даты и времени в Bash? - PullRequest
1 голос
/ 04 июля 2019

Допустим, у меня есть строковая отметка даты и времени, выполненная следующим образом:

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

Как можно легко добавить к этому некоторое количество секунд и распечатать результат в той же форме?Допустим, я хочу добавить два месяца (5184000 секунд).

1 Ответ

2 голосов
/ 04 июля 2019

Очень просто, просто:

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"
)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...