Как найти вчерашнюю дату в Bash

Kak Najti Vcerasnuu Datu V Bash



Bourne Again Shell, также известный как Баш поставляется с различными утилитами командной строки для управления и автоматизации задач. Одной из таких утилит является дата команда, которая используется для получения даты/времени и управления ими. Используя дата команды, вы также можете получить вчерашнюю дату, чтобы использовать ее в сценариях Bash.

Получение вчерашней даты может быть полезно для создания отчетов, управления данными и планирования задач.







В этом уроке я расскажу, как использовать команду date, чтобы получить вчерашнюю дату в Bash.



Что такое команда даты Bash
Как найти вчерашнюю дату в Bash в Linux
1. Поиск вчерашней даты с использованием опций -d или – –date



Поиск вчерашней даты с помощью EPOCHSECONDS
Как найти вчерашнюю дату в Bash на macOS
Заключение





Что такое команда даты Bash

Команда date в Bash отображает дату и время в терминале. Его также можно использовать для установки, изменения или печати даты и времени в различных форматах. Команда date очень полезна для автоматизации и планирования задач в сценариях Bash.

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



дата



Чтобы получить дату в формате ГГГГ-ММ-ДД, используйте следующую команду:

дата + '%Y/%m/%d'



Вместо косой черты (/) в приведенной выше команде можно использовать тире (-).

Ниже перечислены часто используемые символы управления форматом:

Отображает день месяца; например: 02 или 03.
Отображает дату в формате месяц-день-год.
Отображает месяц; например: 01-12
Отображает день недели: например: 1-7. 1 – понедельник, 4 – четверг.
Отображает номер недели года. Например, 00–53, 00 — первая неделя года, 01 — вторая неделя года.
%j Отображает день года; например, 001 — первый день года, 366 — последний день.

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

мужчина дата


Еще одна важная опция, которая поставляется с дата команда или - -дата . Используя эти параметры, мы можем получить предыдущие даты, будущие даты и даже вчерашние даты. Эти параметры используются для отображения времени, заданного в виде строк. Например:

дата --дата 'прошлая суббота'



Или:

дата 'прошлая суббота'



Какие еще строки могут принимать опции -d или –-date, перечислены ниже:

    • завтра
    • вчера
    • прошлая суббота
    • в следующую субботу
    • на прошлой неделе
    • на следующей неделе
    • в прошлом году
    • Следующий год
    • Х секунд назад
    • Х дней назад
    • Х неделю назад
    • Х год назад
    • Х дней
    • Х неделя
    • Х год

В следующем разделе я буду использовать и - -дата варианты поиска вчерашней даты.

Как найти вчерашнюю дату в Bash в Linux

Чтобы найти вчерашнюю дату в Bash, есть несколько способов. Я расскажу о каждом методе:

    • Поиск вчерашней даты с помощью опций -d или – –date
    • Поиск вчерашней даты с помощью EPOCHSECONDS

Примечание: Поиск вчерашней даты зависит от возможностей системы по работе с датами.

1. Поиск вчерашней даты с помощью опций -d или --date

Чтобы получить вчерашнюю дату в Bash, используйте следующую команду:

дата '1 день назад'



Или используйте:

дата --дата '1 день назад'



1 день назад строку также можно заменить на -1 день.

дата --дата '-1 день'



Вы также можете отформатировать дату, используя символы форматирования.

дата --дата '1 день назад' + '%Y/%m/%d'



Другой способ получить вчерашнюю дату в bash — использовать строку вчерашнего дня с оператором или - -дата параметры.

дата --дата 'вчера'



Чтобы отформатировать его в формате ГГГГ/ММ/ДД, используйте следующую команду:

дата --дата 'вчера' + '%Y/%m/%d'


Каковы ограничения опций -d или – –date в Linux

Опции -d или –date дают вчерашнюю дату, но эти опции имеют некоторые ограничения. Эти варианты не учитываются Летнее время или летнее время при предоставлении вывода и полагаться на текущий часовой пояс. Команда date просто вычитает 24 часа из текущей даты и времени, чтобы получить вчерашний результат, что исключает учет летнего времени.

Одним из способов избежать такой ситуации является использование универсальное глобальное время (флаг -u) время, которое не зависит от местного часового пояса для расчета вчерашней даты и дает выходные данные в соответствии с фиксированным часовым поясом. Используйте флаг -u с командой даты:

дата --дата 'вчера' + '%Y-%m-%d'


2. Поиск вчерашней даты с помощью EPOCHSECONDS

Вчерашнюю дату также можно найти с помощью EPOCHSECONDS. Чтобы найти вчерашнюю дату, выполните следующую команду:

печать вчера '%(%Y/%m/%d)T' $ ( ( ЭПОХСЕКУНДЫ – 86400 ) )


Чтобы распечатать вчерашний прогон даты:

эхо $вчера



Эта команда вычисляет дату предыдущей даты, используя EPOCHSECONDS, и присваивает ее вчера переменная в ГГГГ-ММ-ДД формат. EPOCHSECONDS — это количество секунд с 1 января 1970 года, где 86400 означает количество секунд в день.

Как найти вчерашнюю дату в Bash на macOS

Хотя macOS поставляется с Zsh в качестве оболочки по умолчанию, многие по-прежнему предпочитают Bash, который широко используется. Команда date в macOS не поддерживает вчера синтаксис, поэтому процедура получения вчерашней даты в macOS немного другая.

В macOS дата Команда используется для поиска вчерашней даты.

дата -v-1d



Чтобы получить вчерашнюю дату в определенном формате в macOS, используйте:

дата -v-1d + '%Y/%m/%d'



Флаг -v используется для настройки времени и даты; например: если вам нужна дата предыдущего дня, используйте 1 день с минусом( ) знак. Чтобы получить дату следующего дня, просто используйте плюс ( + ) знак. Здесь d представляет дни от 1 до 31. Для получения более подробной информации выполните следующую команду в терминале bash macOS:

мужчина дата


Примечание: Флаг -v специфичен для macOS и может не работать в других операционных системах, таких как Linux.

Заключение

Вам необходимо работать с датой и временем, чтобы планировать задачи, создавать отчеты и выполнять резервное копирование данных в качестве системного администратора. Чтобы получить вчерашнюю дату в системе Linux, вы можете использовать команду date с или - -дата флаги. В macOS также используется команда даты, но с флаг и положительное или отрицательное целое число с д характер.