В этом руководстве мы рассмотрим доступные варианты форматирования команды date и научимся форматировать дату в Bash с примерами.
Bash Date
Для приведения Bash Date к нужному формату в оболочке bash предусмотрена команда date с множеством опций форматирования.
Команда Bash Date
Ниже приведен синтаксис команды date
1 | date |
Форматирование даты Bash с помощью опций
Как уже было сказано, вы можете форматировать дату Bash. Причем желаемый формат может содержать и пробелы.
Команда Date принимает опции, если они указаны
1 | date +<формат-опция><формат-опция> |
Чтобы отформатировать дату с пробелами, используйте синтаксис
1 | date '+<формат-опция><формат-опция> <формат-опция>' |
Список опций форматирования даты Bash
Ниже приведен список доступных опций для команды date :
Опция форматирования | Часть даты | Описание | Пример вывода |
date +%a | Weekday | Название дня недели в сокращенном виде (например, Sun, Mon, Tue, Wed, Thu, Fri, Sat) | Mon |
date +%A | Weekday | Полное название дня недели (например, воскресенье, понедельник, вторник) | Monday |
date +%b | Month | Название месяца в сокращенном виде (например, Jan, Feb, Mar ) | Jan |
date +%B | Month | Полное название месяца (например, январь, февраль) | January |
date +%d | Day | День месяца (например, 01) | 4 |
date +%D | MM/DD/YY | Текущая дата; отображается в формате ММ/ДД/ГГГГ | 02/20/23 |
date +%F | YYYY-MM-DD | Дата; отображается в формате ГГГГ-ММ-ДД | 19.01.2032 |
date +%H | Hour | Час в формате 24-часовых часов | 18 |
date +%I | Hour | Час в формате 12-часовых часов | 10 |
date +%j | Day | День года (001..366) | 152 |
date +%m | Month | Число месяца (01..12) (01 - январь) | 5 |
date +%M | Minutes | Минуты (00..59) | 52 |
date +%S | Seconds | Секунды (00..59) | 18 |
date +%N | Nanoseconds | Nanoseconds (000000000..999999999) | 300231695 |
date +%T | HH:MM:SS | Время в формате HH:MM:SS (часы в формате 24) | 18:55:42 |
date +%u | Day of Week | День недели (1..7); 1 - понедельник | 7 |
date +%U | Week | Отображает номер недели в году, при этом первым днем недели является воскресенье (00..53) | 23 |
date +%Y | Year | Отображение полного года, т.е. ГГГГ | 2023 |
date +%Z | Timezone | Аббревиатура часового пояса (например: IST, GMT) | IST |
Для команды date в указанном синтаксисе можно использовать любой из перечисленных выше вариантов формата (первый столбец).
Примеры
Формат даты в Bash ММ-ДД-ГГГГ
Чтобы отформатировать дату в формате ММ-ДД-ГГГГ, используйте команду date +%m-%d-%Y.
1 2 3 | #!/bin/bash d=`date+%m-%d-%Y` echo $d |
Вывод
11-20-2023
Обратите внимание на прописные и строчные буквы: %m - месяц, %d - день и %Y - год. %M означает минуты.
Формат даты в Bash MM-YYYY
Чтобы отформатировать дату в формате ММ-гггг, используйте команду date +%m-%Y .
1 2 3 | #!/bin/bash d=`date+%m-%Y` echo $d |
Вывод
1 | 11-20-2023 |
Формат даты Bash: День недели, ДД-Месяц, ГГГГ
Для форматирования даты в формате ММ-ДД-ГГГГ используйте команду date +%m-%d-%Y.
1 2 3 | #!/bin/bash d=`date '+%A %d-%B, %Y'` echo $d |
Вывод
1 | 11-20-2023 |
Заключение
Мы узнали, как использовать команду date, список опций формата даты Bash, доступных с командой date, и некоторые примеры, демонстрирующие использование опций формата.