Я хочу получить sysdate -1 и sysdate -2 в переменной и повторить ее. Я использую ниже запрос, который дает дату в качестве вывода.
#! /bin/bash
tm=$(date +%Y%d%m)
echo $tm
Как получить вчера и за день до даты вчера?
Ответ 1
Вот еще один способ,
За вчерашний день
date -d '-1 day' '+%Y%d%m'
Позавчера,
date -d '-2 day' '+%Y%d%m'
Ответ 2
Вчера дата
YES_DAT=$(date --date=' 1 days ago' '+%Y%d%m')
День перед датой даты
DAY_YES_DAT=$(date --date=' 2 days ago' '+%Y%d%m')
Для любой даты, которую вы можете использовать ниже одного значения по умолчанию, требуется 1 день. Если его значение пропускания за этот день до этого займет
ANY_YES_DAT=$(date --date=' $1 days ago' '+%Y%d%m')
Ответ 3
Вы можете получить вчерашнюю дату:
date -d "yesterday 13:00 " '+%Y-%m-%d'
и позавчера этим: -
date -d "yesterday-1 13:00 " '+%Y-%m-%d'
Ответ 4
Для более старых версий даты BSD (например, в старых версиях macOS), которые не предоставляют -v, вы можете получить дату вчерашнего дня, вычитая 86400 секунд (секунд в дне) из текущей эпохи.
date -r $(( $(date '+%s') - 86400 ))
Очевидно, что вы можете вычесть 2 * 86400 на день вчерашнего дня и т.д.