Linux date номер недели
Выводит текущее время в заданном ФОРМАТЕ, или устанавливает системное время. -d , —date = СТРОКА показать не текущее время, а время, описанное заданной СТРОКОЙ -f , —file = ФАЙЛ соответствует применению —date для каждой строки ФАЙЛА -r , —reference = ФАЙЛ показать время последнего изменения ФАЙЛА -R , —rfc-2822 выводить дату и время в формате RFC 2822 —rfc-3339 = СПЕЦ выводить дату и время в формате RFC 3339 СПЕЦ=`date’, `seconds’ или `ns’ для получения даты и времени с указанной точностью. -s , —set = СТРОКА установить время, описанное СТРОКОЙ -u , —utc , —universal показать или установить универсальное координированное время —help показать справку и выйти —version показать информацию о версии и выйти
ФОРМАТ управляет выводом. Единственный ключ, допустимый для второй формы, задает координированное универсальное время. Воспринимаются следующие последовательности: %% знак % %a местное сокращенное название дня недели (например, Вск) %A местное полное название дня недели (например, Понедельник) %b местное сокращенное название месяца (например, Янв) %B местное полное название месяца (напр., Январь) %c местная дата и время (например, Чтв 05 Июл 2007 11:57:29) %C век; аналогично %Y, кроме пропуска последних двух символов (например, 21) %d день месяца (например, 01) %D дата; аналогично %m/%d/%y %e день месяца, дополненный пробелами; аналогично %_d %F полная дата; эквивалентно %Y-%m-%d %g последние две цифры года, соответствующего номеру недели в году согласно ISO 8601 (см. %G) %G год, соответствующий номеру недели в году согласно ISO 8601 (см. %V); обычно имеет смысл только в сочетании с %V %h то же, что и %b %H час (00..23) %I час (01..12) %j номер дня в году (001..366) %k час ( 0..23) %l час ( 1..12) %m месяц (01..12) %M минута (00..59) %n новая строка %N наносекунды (000000000..999999999) %p местный эквивалент AM или PM; пусто если неизвестно %P аналогично %p, но в нижнем регистре %r местное 12-часовое время (например, 11:11:04 PM) %R 24-часовой формат часов и минут; аналогично %H:%M %s число секунд, истекших с 1970-01-01 00:00:00 UTC %S секунда (00..60) %t табуляция %T время; аналогично %H:%M:%S %u день недели (1..7); 1 обозначает понедельник %U номер недели в году, начинающейся с воскресенья (00..53) %V номер недели в году, начинающейся с понедельника, согласно ISO 8601 (01..53) %w день недели (0..6), 0 означает воскресенье %W номер недели в году, начинающейся с понедельника (00..53) %x местное представление даты (например, 31.12.1999) %X местное представление времени (например, 23:13:48) %y последние две цифры года (00..99) %Y год %z часовой пояс в формате `+ччмм’ (например, -0400 ) %:z часовой пояс в формате `+чч:мм’ (например, -04 :00) %::z часовой пояс в формате `+чч:мм:сс’ (например, -04 :00:00) %. z часовой пояс с достаточным количеством двоеточий (например, -04, +05:30) %Z алфавитное сокращение часового пояса (например, EDT)
По умолчанию date дополняет числовые поля нулями. После `%’ могут идти следующие необязательные флаги: — (дефис) не дополнять это поле _ (подчёркивание) дополнять пробелами 0 (zero) дополнять нулями ^ использовать верхний регистр, если возможно # использовать противоположный регистр, если возможно
После любого из флагов идет необязательная ширина поля в виде десятичного числа; затем необязательный модификатор, один из следующих: E — если возможно, использовать альтернативное представление для текущей локали O — если возможно, использовать альтернативные числовые символы локали.
АВТОР
СООБЩЕНИЕ ОБ ОШИБКАХ
АВТОРСКИЕ ПРАВА
Copyright (c) 2006 Free Software Foundation, Inc.
Это свободное программное обеспечение. Вы можете распространять его копии при соблюдении условий GNU General Public License . Не предоставляется НИКАКИХ ГАРАНТИЙ в установленных законом пределах.
СМ. ТАКЖЕ
Полная документация для date поддерживается в виде руководства в формате Texinfo. Если программы info и date установлены и настроены в системе, то по команде info date
вы получите доступ к более полному руководству.
Настройка даты и времени в Linux – команда date
Как это часто бывает, всё самое важное скрывается за самыми простыми вещами. Так и в случае с установкой/настройкой даты и времени в системе. Некорректные значения этих параметров запросто ломают логику работы многих приложений, особенно это касается тех систем, где на этом построены целые сервисы, такие как интернет-магазины, SCADA-системы на производстве и т. д. Поэтому так важно следить за корректными настройками времени, даты, языковых форматов, а также уметь все эти параметры настраивать. В системах Linux всё это позволяет выполнять команда date.
Синтаксис и основные опции
Согласно официальной информации, доступной из справочного руководства (команда man date), синтаксис команды date следующий:
date [OPTION] . . . [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY[.ss]]
Если дать команду date без аргументов или если аргументы начинаются с символа «+», то по-умолчанию будет выведено текущие значения даты и времени. В ином случае производится установка даты и времени, передаваемые в аргументах в каком-либо из форматов. Например, для установки времени введите команду
MM — Месяц
DD — День,
hh — часы в 24-часовом формате,
mm — минуты,
YYYY — 4 цифры года,
ss — секунды.
Прежде чем установить время проверьте правильность установки временной зоны.
Ниже мы боле подробно рассмотрим параметры ввода даты и времени.
Следующая команда выводит информацию о текущих дате и времени в форматированном виде:
Как видно, символ «+» позволяет печатать установленные (текущие) значения, а следующее за ним выражение задаёт формат вывода этих значений. Шаблон подстановки «%n» здесь служит для переноса строки. Все остальные шаблоны подстановки используются для выборки соответствующих компонент времени: месяцы, дни, часы, минуты и т. д. Само же выражение должно заключаться в кавычках, если в нём присутствуют пробельные символы.
Параметры CC, YY и .ss в синтаксисе date означают две последние цифры года, век и секунды (от 0 до 59) соответственно. И эти параметры не являются обязательными. Для того, чтобы устанавливать дату и время с помощью команды date, необходимы права суперпользователя.
В следующей таблице приводится описание основных опций команды date:
Опция | Значение |
-d, —date=STRING | Вычисляет день недели для заданной даты в качестве STRING. Дата задаётся в формате ггммдд. |
-f, —file=DATEFILE | То же самое, что и -d, но для исходных данных используется содержимое из файла FILE. |
-r, —reference=FILE | Определяет время последней модификации файла FILE. |
-s, —set=STRING | Устанавливает время/дату, заданные строкой STRING. |
-u, —utc, —universal | Использование формата |
Форматы ввода/вывода даты и времени
Для формата ввода даты/времени предусматриваются специальные элементы записи того или иного компонента даты/времени. В следующей таблице приводится описание этих элементов записи в виде пар букв, которым соответствуют составляющие даты и времени:
Элемент | Описание |
mm | Минуты — от 0 до 59. |
hh | Часы — от 0 до 23. |
DD | Дни — от 0 до 28, 29, 30 и 31. |
MM | Месяцы — от 01 до 12. |
Как уже можно было видеть, возвращаемые командой данные из её вывода можно форматировать произвольным способом, используя для этого специальные шаблоны подстановки или параметры форматирования. Они служат, как уже было отмечено выше, для выборки требуемых компонентов данных даты/времени из вывода команды date. Список этих параметров довольно длинный, но при этом его легко запомнить, поскольку наименования параметров довольно логичны. Следующая таблица отражает самые основные и часто используемые параметры форматирования:
Параметр | Назначение |
%a | День недели в кратком виде. |
%A | День недели в полном виде. |
%b | Название месяца в кратком виде. |
%B | Название месяца полностью. |
%c | Дата и время, например Чт 07 мар 2019 18:31:22 |
%d | День месяца в цифровом обозначении. |
%D | Дата, например 03/07/19 |
%e | День месяца. Печатает цифровое значение дня месяца с предстоящим отступом. |
%F | Полная дата, например 2019-03-07. |
%g | Последние две цифры года в формате |
%G | Год полностью в формате |
%H | Час суток в 24-часовом формате (00..23) |
%I | Час суток в 12-часовом формате (01..12) |
%j | День года (001..366) |
%k | Час суток в 24-часовом формате с предстоящим отступом. |
%l | Час суток в 12-часовом формате с предстоящим отступом. |
%m | Месяц (01..12). |
%M | Минута (00..59). |
%n | Переводит вывод на новую строку. |
%N | Выводит наносекунды (000000000.999999999). |
%q | Номер квартала года (1..4). |
%R | Время в 24-часовом формате. |
%s | Количество секунд, прошедших с момента 1 января 1970 00: |
%S | Секунды (00..60). |
%u | День недели, если первый день недели — понедельник (1..7). |
%U | Номер недели в году, если первый день недели — воскресенье (00..53). |
%w | День недели, если первый день — воскресенье (0..6). |
%W | Номер недели в году, если первый день недели — понедельник (00..53). |
%y | Последние две цифры года (00..99). |
%Y | Год. |
Примеры использование команды date
Выше уже был пример вывода текущих даты и времени с использованием произвольного форматирования. Поэтому рассмотрение примеров стоит начать с более практичных вариантов применения команды date. Например, очень удобно использование опции -s для установки даты/времени, поскольку она позволяет передавать команде date строку, содержащую требуемое значение в «человекопонятном» виде:
Узнать время последнего изменения какого-либо файла:
Узнать день недели по его дате:
$ date -d 190423 Вт апр 23 00:00:00 +04 2019
Вообще, команду date очень активно используют программисты для написания программного кода приложений, работающих с датой/временем, а также при написании скриптов для автоматизации некоторых процессов. Например, для автоматического наименования фалов, в имени которых содержится подстрока с датой его создания:
$ cp settings.php settings.php_back-$(date +%d%m%y)
В результате будет создана копия файла settings.php под именем settings.php_back-070319. В данном случае используется директива $() для задания имени файла. Нужно заметить, что данный приём — очень мощный инструмент при работе в командной оболочке Linux.
Заключение
В заключение следует отметить отличную гибкость и большие возможности простой консольной утилиты, доступной по команде date, которая на первый взгляд не представляется заслуживающей внимания. Однако, команда date – это яркий пример «маленькой, но очень эффективной программы» в UNIX-подобных системах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.