Как получить вчера и позавчера в Linux?

Я хочу получить 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 на день вчерашнего дня и т.д.