Bourne Again Shell, также известный как Баш поставляется с различными утилитами командной строки для управления и автоматизации задач. Одной из таких утилит является дата команда, которая используется для получения даты/времени и управления ими. Используя дата команды, вы также можете получить вчерашнюю дату, чтобы использовать ее в сценариях Bash.
Получение вчерашней даты может быть полезно для создания отчетов, управления данными и планирования задач.
В этом уроке я расскажу, как использовать команду date, чтобы получить вчерашнюю дату в Bash.
Что такое команда даты Bash
Как найти вчерашнюю дату в Bash в Linux
1. Поиск вчерашней даты с использованием опций -d или – –date
Поиск вчерашней даты с помощью EPOCHSECONDS
Как найти вчерашнюю дату в Bash на macOS
Заключение
Что такое команда даты Bash
Команда date в Bash отображает дату и время в терминале. Его также можно использовать для установки, изменения или печати даты и времени в различных форматах. Команда date очень полезна для автоматизации и планирования задач в сценариях Bash.
Чтобы получить текущую дату и время, просто введите дата в терминале:
дата
Чтобы получить дату в формате ГГГГ-ММ-ДД, используйте следующую команду:
Вместо косой черты (/) в приведенной выше команде можно использовать тире (-).
Ниже перечислены часто используемые символы управления форматом:
%д | Отображает день месяца; например: 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 день.
Вы также можете отформатировать дату, используя символы форматирования.
Другой способ получить вчерашнюю дату в bash — использовать строку вчерашнего дня с оператором -д или - -дата параметры.
Чтобы отформатировать его в формате ГГГГ/ММ/ДД, используйте следующую команду:
Каковы ограничения опций -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 используется для настройки времени и даты; например: если вам нужна дата предыдущего дня, используйте 1 день с минусом( – ) знак. Чтобы получить дату следующего дня, просто используйте плюс ( + ) знак. Здесь d представляет дни от 1 до 31. Для получения более подробной информации выполните следующую команду в терминале bash macOS:
Примечание: Флаг -v специфичен для macOS и может не работать в других операционных системах, таких как Linux.
Заключение
Вам необходимо работать с датой и временем, чтобы планировать задачи, создавать отчеты и выполнять резервное копирование данных в качестве системного администратора. Чтобы получить вчерашнюю дату в системе Linux, вы можете использовать команду date с -д или - -дата флаги. В macOS также используется команда даты, но с -в флаг и положительное или отрицательное целое число с д характер.