Команда Date в Linux с примерами
Команда Date в Linux с примерами
Linux Date Command with Examples
В этом руководстве мы рассмотрим основы date команды.

Команда date
отображает или устанавливает системную дату. Чаще всего он используется для печати даты и времени в разных форматах и для расчета будущих и прошлых дат.
Использование Date
Синтаксис date
команды следующий:
date [OPTION]... [+FORMAT]
Чтобы отобразить текущее системное время и дату, используя форматирование по умолчанию, вызовите команду без каких-либо параметров и аргументов:
date
Выходные данные включают день недели, месяц, день месяца, время, часовой пояс и год:
Sat Jun 1 14:31:01 CEST 2019
Параметры форматирования даты
Вывод date
команды может быть отформатирован с помощью последовательности символов управления форматом, перед которой стоит +
знак. Элементы управления форматом начинаются с %
символа и заменяются их значениями.
date +"Year: %Y, Month: %m, Day: %d"
Символ %Y
будет заменен на год, %m
месяц и %d
день месяца:
Year: 2019, Month: 06, Day: 02
Вот еще один пример:
date "+DATE: %D%nTIME: %T"
DATE: 06/02/19
TIME: 01:47:04
Ниже приведен небольшой список некоторых наиболее распространенных символов форматирования:
%a
- Сокращенное название дня недели (например, понедельник)%A
- Сокращенное полное название дня недели (например, понедельник)%b
- Сокращенное название месяца (например, январь).%B
- сокращенное длинное название месяца (например, январь)%d
- день месяца (например, 01)%H
- час (00..23)%I
- час (01.12.12)%j
- День года (001..366)%m
- Месяц (01.12.12)%M
- Минута (00..59)%S
- Второй (00 .. 60)%u
- день недели (1..7)%Y
- Полный год (например, 2019)
Чтобы получить полный список всех параметров форматирования, запустите date --help
или man date
в своем терминале.
Пользовательское форматирование даты
-d
Опция позволяет работать на дату конкретного. Вы можете указать дату в виде удобочитаемой строки даты, как показано ниже:
date -d "2010-02-07 12:10:53"
Sun Feb 7 12:10:53 CET 2010
Использование пользовательского форматирования:
date -d '16 Dec 1974' +'%A, %d %B %Y'
Monday, 16 December 1974
Строка даты принимает значения, такие как «завтра», «пятница», «последняя пятница», «следующая пятница», «следующий месяц», «следующая неделя» .. и т. Д.
date -d "last week"
Sat May 25 14:31:42 CEST 2019
Вы также можете использовать параметр строки даты, чтобы показать местное время для разных часовых поясов. Например, чтобы показать местное время 6:30 утра следующего понедельника на восточном побережье Австралии, введите:
date -d 'TZ="Australia/Sydney" 06:30 next Monday'
Sun Jun 2 22:30:00 CEST 2019
Переопределить часовой пояс
Команда date
возвращает дату в системном часовом поясе по умолчанию . Чтобы использовать другой часовой пояс, установите переменную среды TZ
в желаемый часовой пояс.
Например, чтобы показать время в Мельбурне, введите:
TZ='Australia/Melbourne' date
Sat Jun 1 22:35:10 AEST 2019
Чтобы получить список всех доступных часовых поясов , вы можете либо перечислить файлы в /usr/share/zoneinfo
каталоге, либо использовать timedatectl list-timezones
команду.
Конвертер эпох
date
Команда может быть использована в качестве преобразователя Epoch. Время, или метки времени Unix, - это количество секунд, прошедших с 1 января 1970 года в 00:00:00 UTC.
Чтобы напечатать количество секунд от эпохи до текущего дня, вызовите date
с %s
контролем формата:
date +%s
1559393792
Чтобы преобразовать секунды с начала эпохи в дату, установите секунды в виде строки даты с префиксом @
:
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009
Использование date
с другими командами
Команда date
чаще всего используется для создания имен файлов, которые содержат текущее время и дату.
Команда ниже создаст файл резервной копии Mysql в следующем формате database_name-20190601.sql
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Вы также можете использовать date
команду в своих сценариях оболочки. В приведенном ниже примере мы присваиваем выход date
к date_now
переменной:
date_now=$(date "+%F-%H-%M-%S")
echo $date_now
2019-06-01-15-02-27
Показать время последнего изменения файла
Команда date
с -r
параметром показывает время последнего изменения файла. Например:
date -r /etc/hosts
Tue Jul 24 11:11:48 CEST 2018
Если вы хотите изменить временную метку файла, используйте touch
команду .
Установите системное время и дату
Установка системного времени и даты вручную с помощью этой date
команды не рекомендуется, поскольку в большинстве дистрибутивов Linux системные часы синхронизируются с ntp
помощью systemd-timesyncd
служб или .
Однако, если вы хотите установить системные часы вручную, вы можете использовать эту --set=
опцию. Например, если вы хотите установить дату и время 17:30, 01 июня 2019 г., введите:
date --set="20190601 17:30"
Вывод
Команда Linux date
отображает или устанавливает системную дату и время.