Bash:
Получение текущей даты
Как это сделать:
Чтобы получить текущую дату и время, используйте date
. Вот простой способ:
date
И вуаля, вы получите что-то вроде этого:
Mon Mar 27 12:45:21 PDT 2023
Нужна дата в другом формате? Не проблема. Используйте опции +%
:
date +"%Y-%m-%d"
Вывод теперь аккуратный и чистый:
2023-03-27
Погружение в детали
В прошлом системы не всегда имели внутренние часы. Поэтому люди полагались на системы совместного использования времени, чтобы узнать время. Сегодня каждая система, на которой вы запускаете Bash, знает время. Спасибо date
.
date
универсален. Хотите получить дату следующей недели? Просто добавьте красивый флаг --date
:
date --date="next week"
Но подождите, это еще не все! Имеете в виду другой часовой пояс?
TZ="Europe/Paris" date
Теперь вы получаете время Парижа. Изысканно.
Bash не одинок в игре получения даты. Python, PHP, JavaScript – у всех их свои способы. Но в мире скриптования оболочки date
- ваш верный помощник.
Почему это важно? Автоматизация, мой друг. Скрипты, которые делают что-то в зависимости от даты и времени, полагаются на date
. Cron-задания? Они обожают хорошую временную метку.
Вот технический обзор: date
получает информацию от системных часов, которые синхронизируются с аппаратными или сетевыми источниками времени, так что вы не живете в прошлом.
См. также
- Проверьте
man date
для увлекательного чтения обо всем, что связано сdate
. - Загляните на вики Грега за советами по скриптингу в bash: http://mywiki.wooledge.org/BashGuide
- Если вы хотите большего, всегда есть руководство по GNU coreutils: https://www.gnu.org/software/coreutils/manual/coreutils.html#date-invocation