Как изменить дату и время в Linux Ubuntu! Linux date установка времени


Установка времени Linux | Losst

Время от времени часы на компьютере могут сбиваться по различным причинам, время может быть установлено изначально неправильно или неправильно выбран часовой пояс. Хотя в системе по умолчанию настроена синхронизация времени с интернетом и я уже давно забыл что значит постоянно перенастраивать часы, если они отстают, такая необходимость может появиться.

В этой статье мы рассмотрим как выполняется установка времени Linux различными способами, через терминал, графический интерфейс и так далее. Но сначала нам нужно понять как работает время.

Содержание статьи:

Как работает время на компьютере?

Статья ориентирована на новичков, в первую очередь на них, потому что профессионалы уже и так знают как это сделать. Поэтому сначала рассмотрим как работает время в Linux. Когда компьютер работает часы идут, это ясно, но когда вы его отключаете, а затем включаете снова часы показывают не то время, на котором остановились, а правильное время. Это происходит потому, что часы на материнской плате идут постоянно. Таймер питается от той же батарейки, что и энергозависимая память BIOS.

Операционная система передает значение таймера в память BIOS при выключении и берет его оттуда при включении. Отсюда берутся проблемы со временем при двойной загрузке Windows и Linux, но эта тема раскрыта в другой статье - сбивается время в Ubuntu и Windows. Другая проблема почему может сбиваться время - это неверно установленный часовой пояс. Если вы установили часовой пояс linux неверно, то часы будут постоянно синхронизироваться через интернет и идти неверно.

Когда все проблемы с временем будут устранены, можно перейти установить нужное время и быть уверенным что оно не будет сбиваться. Дальше рассмотрим как это сделать.

Установка времени Linux

Вы можете видеть текущее время прямо на вашем рабочем столе, в KDE часы добавлены на панель, да и в Gnome, они размещены по центру панели по умолчанию:

Если навести курсор на время, вы увидите более подробную информацию, область уведомлений и календарь.

Но настроить время здесь уже не получится. Для этого нужно открывать настройки системы. Мы будем рассматривать настройки для Gnome. Откройте меню Dash и наберите в строке поиска "Параметры":

 

Дальше откройте "Дата и время":

Как видите, здесь уже установлено значение по умолчанию "Автоматическое определение даты и времени", а внизу есть пункт, который отвечает за часовой пояс.

Вы можете просто поменять часовой пояс чтобы время синхронизировалось правильно, если что-то не так. Также можно задать время вручную. Для этого сначала отключите автоматическую синхронизацию, а затем выберите дату и время:

Никаких кнопок нажимать не нужно, закройте окно выбора и новое время будет применено. Вы всегда можете вернуть настройки до значения по умолчанию.

Установка времени через терминал

Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:

date

У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:

sudo hwclock -r

 

 

Чтобы установить время можно использовать ту же команду date. Для этого ей нужно передать строку со временем и датой, например:

date --set="строка"

В качестве строки можно брать ту, которую возвращает команда date без параметров, только она должна быть на английском, поэтому сразу смотрим:

LANG=en_US date

Затем меняем:

sudo date --set "Wed Sep 6 20:43:36 EEST 2017"

Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:

sudo date --set "Sep 6 20:43:36 2017"

Это даст тот же результат. Еще один вариант - указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:

sudo date +%T -s "20:43:36"

Здесь формат очень прост - часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:

date +%T%p -s "8:43:36PM"

Вы изменяете текущее время, но аппаратное системное время linux не изменяется, чтобы сохранить изменения используйте команду:

sudo hwclock -w

Еще один новый инструмент от systemd для управления временем - timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:

timedatectl

 

Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:

sudo timedatectl --set-time "2017-09-06 20:43:36"

Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:

sudo timedatectl --set-time "20:43:36"

Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:

sudo timedatectl set-ntp no

Или включить обратно:

sudo timedatectl set-ntp yes

C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:

sudo timedatectl set-timezone 'Russia/Moscov'

Вы можете посмотреть список доступных часовых поясов командой:

timedatectl list-timezones

Видео о настройке времени с помощью timedatectl:

Выводы

Вот и все. Теперь вы знаете как выполняется установка времени linux. Как видите, это очень просто, вы можете использовать различные способы, в зависимости от того, что вам будет удобнее. Если у вас остались вопросы, спрашивайте в комментариях!

 

Оцените статью:

Загрузка...

losst.ru

Linux установка даты и времени

Содержание статьи

Какие часы бывают в Linux

Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы реального времени или RTC — real time clock), которые работают даже при выключенном блоке питания, на это у них есть батарейка на материнской плате. Другие программные, то есть часы операционной системы. Показания этих часов могут различаться. При этом программные часы опираются на показания аппаратных при старте операционной системы. А в дальнейшем могут синхронизироваться через интернет с эталонными и корректировать ход аппаратных.В большинстве случаев если компьютер работает под управлением операционной системой Windows показания аппаратных и программных часов совпадают. В Linux же чаще всего аппаратные часы настраивают по гринвичу (времени нулевого меридиана), а программные по необходимому смещению для часового пояса где расположен сервер.Абсолютное большинство программ (приложений и сервисов) в своей работе опираются на показания системных (программных) часов.

Установка времени в ОС Linux

Время от времени часы на компьютере могут сбиваться по различным причинам, время может быть установлено изначально неправильно или неправильно выбран часовой пояс. Хотя в системе по умолчанию настроена синхронизация времени с интернетом и я уже давно забыл что значит постоянно перенастраивать часы, если они отстают, такая необходимость может появиться. В этой статье мы рассмотрим как выполняется установка времени Linux различными способами, через терминал, графический интерфейс и так далее. Но сначала нам нужно понять как работает время.

Установка временной зоны (timezone)

Временная зона под Linuxом устанавливается через символическую ссылку, из /etc/localtime на файл из дирректории /usr/lib/zoneinfo(или /usr/share/zoneinfo), чем указывается в какой временной зоне вы находитесь. Например я живу в Киев (Киевский часовой пояс EET) я должен сделать ссылку /etc/localtime на файл /usr/lib/zoneinfo/Europe/Kiev. Для этого даем команду:ln -sf ../usr/share/zoneinfo/Europe/Kiev /etc/localtimeЗамените your/zoneна соответствующую вашему месту расположения зону, например Europe/Moscow или Australia/Perth. Чтобы узнать какие временные зоны доступны посмотрите в дирректорию /usr/lib/zoneinfo(или /usr/share/zoneinfo).

Как задать время через консоль в Linux?

Как задать время через консоль в Linux? Как установить дату в Linux?Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date.Самое первое, что может нам понадобиться — просмотр текущей даты и времени. Узнаём время с помощью команды$ dateВтр Сен 17 12:36:46 UTC 2017Linux установка датыdate +%Y%m%d -s "20170917"Linux задать время из консолиdate -s "16:17:00"Задать время и дату одновременно:date -s "17 SEP 2017 16:17:00"Если указать только дату без времени, то время будет установлено в 0 часов 0 минут:date -s "17 SEP 2017"Выдаст результат:Вск Сен 13 00:00:00 UTC 2017Однако, сразу после этих команд, стсемное время возвращается к предыдущему значению. Поэтому нужно вначале установить аппаратные часы. Узнать, сколько времени на аппаратных часах, можно командой:hwclockранее эта команда называлась clock.Установить аппаратные часы можно командой:hwclock --set --date="2011-08-14 16:45:05"После чего надо засинхронизировать системные часы с аппаратными:hwclock -sПо идее, если временная зона настроена как локальная, после этой команды время на компьютере будет таким же как и на аппаратных часах.Если вы сталкиваетесь с ошибкой:date: cannot set date: Operation not permittedУчтите, что время и дату имеет право изменять только root-пользователь. Поэтому задавайте время с sudo:sudo date +%Y%m%d -s "20170917"Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев.Дополнительную информацию вы можете получить командойdate --help

www.linux16.ru

Как изменить дату и время в Linux Ubuntu!

Приветствую Всех!

В этой статье я расскажу как изменить дату и время в Linux Ubuntu. Сделать это мы сможем двумя способами.

Рассмотрим первый способ изменить дату и время.

Через панель быстрого запуска открываем «Параметры системы» и выбираем «Время и дата».

В открывшемся окне мы видим карту мира. На ней указанны часовые пояса. Кликнув левой кнопкой мыши по необходимому нам часовому поясу, он будет подсвечен, в поле «Местоположение» мы видим выбранный часовой пояс.

Время в Linux Ubuntu по умолчанию синхронизируется со специальными серверами точного времени. Подключение к данным серверам производится по протоколу сетевого времени NTP.И в большинстве случаев самому менять ничего не надо. Если ваш компьютер подключен к сети Интернет, то операционная система сама подкорректирует дату и время.Но если у вас появилась такая необходимость изменить дату и время, то указываем системе «Установить время» вручную и выбираем необходимые нам дату и время.

Второй способ изменить дату и время.

Рассмотрим как изменить часовой пояс. Откроем терминал и запустим следующую команду.

sudo dpkg-reconfigure tzdata

Для получения дополнительных привилегий необходимо ввести пароль пользователя и нажать на клавиатуре клавишу «Enter».

Выбираем географический район, в моем случае это «Европа» и нажимаем на клавиатуре клавишу «Enter».

В следующем окне выбираем часовой пояс. Я выбрал «Москва» и также нажимаем на клавиатуре клавишу «Enter».

В терминале видим установленную временную зону и текущее время

Для просмотра текущей даты и времени в терминале надо ввести следующую команду

data

А для того чтобы, например, установить дату 15 декабря 2015 года и время 20 часов 10 минут вводим команду

sudo data 201520102015.00

date MMDDhhmmCCYY.ssMM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды

Мы рассмотрели как можно изменить часовой пояс, а также изменить дату и время в Linux Ubuntu. И если остались непонятные вопросы по данной это теме и есть предложения, то прошу их писать в комментариях. Всем пока!

serfery.ru

Устанавливаем время, дату и часовой пояс из командной строки или из Gnome

В системе Linux очень важно иметь правильное время и дату, поскольку от этого зависит многое. Причем неважно, используете ли вы систему Linux на своем персональном компьютере или у вас Linux-сервер. Серверные и системные часы должны указывать правильное время. Установка даты из командной строки date +%Y%m%d -s "20120418" Установка времени из командной строки date +%T -s "11:14:00" Установка времени и даты из командной строки date -s "19 APR 2012 11:14:00" Проверка в Linux даты из командной строки date Вы увидите что-то вроде следующего: Thu Apr 19 15:17:34 BOT 2012 Установка аппаратных часов Аппаратные часы - это те часы, которые работают на вашем компьютере даже тогда, как питание компьютера отключено. Это возможно благодаря наличию в современных компьютерах литиевой батареи или батареи другого типа в более старых компьютерах. Мы можем увидеть различие между аппаратными и системными часами hwclock --show Вы увидите что-то вроде следующего:Thu 19 Apr 2012 03:23:05 PM BOT -0.785086 seconds Теперь проверьте системные часы date Вы увидите что-то вроде следующего: Thu Apr 19 15:26:41 BOT 2012 Давайте установим аппаратные часы по местному времени: hwclock --set --date="2012-04-19 16:45:05" --localtime Если вы хотите установить их на использование времени по Гринвичу (UTC):hwclock --set --date="2011-04-19 20:45:05" --utc Установка часового пояса Чтобы в ваших системных часах установить часовой пояс, выполните следующее: cp /usr/share/zoneinfo/America/La_Paz /etc/localtime Правильно укажите ваш часовой пояс. Автоматическая регулировка часов Для того, чтобы ваша система могла автоматический регулировать время, вам нужно установить программу ntp. Получите ее из репозитария. После того, как она будет установлена, вы можете настроить ее следующим образом: Отредактируйте файл /etc/ntpd.conf. Он будет выглядеть следующим образом: # С параметрами по умолчанию, устанавливаемыми ниже, программа ntpd будет выполнять синхронизацию ваших часов. # # Подробности смотрите: # - страница man для ntp.conf # - http://support.ntp.org/bin/view/Support/GettingStarted # - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon # Используемые общедоступные сервера пулов NTP; смотрите http://www.pool.ntp.org/ server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org # Доступ на чтение только из localhost restrict default noquery nopeer restrict 127.0.0.1 restrict ::1 # Месторасположение файлов drift и log driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp.log # ЗАМЕЧАНИЕ: Если у вас работает программа dhcpcd и у вас указаны строки такие как 'restrict' и 'fudge', указываемые # здесь, удостоверьтесь, что в /etc/conf.d/net для перемннных dhcpcd_ethX добавлены параметры '-Y -N' Удостоверьтесь, что вы запустили демон, и сделайте так, чтобы он автоматически запускался при загрузке системы. Для Arch Linux это: /etc/rc.d/ntpd start ; для Debian и производных систем: /etc/init.d/ntpd startОбновление из командной строки времени по значению, получаемому с сервера времени Вы можете обновлять время вручную без использования демона ntpdatentpdate 129.6.15.28 Вы получите что-то вроде следующего: 19 Apr 15:45:23 ntpdate[10948]: step time server 129.6.15.28 offset -45.697084 sec Бонус: Установка времени и даты в Gnome Если вы используете Gnome, щелкните правой кнопкой мыши по изображению часов и выберите пункт настройки adjust, или в меню выберите пункт System > Administration > Time and Date (Система > Администрирование > Время и дата). Вам, возможно, будет предложено ввести пароль.

belozerovitw.blogspot.com

8 Примеров команды Date для начинающих в Linux

Вероятностные знания — вот предел человеческого разумения (Цицерон).

Во время работы в командной строке Linux, вы могли бы войти в ситуацию, когда вам нужно отобразить (или даже изменить) текущее системное время. Мало того, что, если вы работаете с членами в команде, которые находятся в разных часовых поясах, возможно, вы захотите, обновлять с течением времени информацию, касающейся зоны, в которых сидят другие члены.

Если вы ищете инструмент, который позволяет делать все это (и многое другое), вы будете рады узнать, что существует команда date. В этой статье мы обсудим основные команды «date», а также, как вы можете использовать ее. Но прежде чем мы это сделаем, стоит отметить, что все команды и инструкции, упомянутые здесь, были протестированы на Ubuntu 16,04 LTS.

Команда date в Linux

Вот общий синтаксис команды date:

date [OPTION]... [+FORMAT]

 

А вот что говорит страница man об этом:

date - вывод или установка даты и время системы Отображение текущего времени в данном формате, или установка системной даты.

Следующие примеры должны дать вам хорошее представление о том, как эта команда работает.

Q1. Как получить системную дату/время с помощью команды date?

Это поведение по умолчанию. Чтобы узнать дату и время вашей системы, все, что вам нужно сделать, это запустить программу следующим образом (да, любой вариант без):

date

 

Вот команда в действии:

date Sun Jul 9 19:41:10 MSK 2017

 

Таким образом, вы можете видеть, что информация, как день, дата, время, часовой пояс, а также год был показан на выводе.

Q2. Как получить дату, соответствующую дню?

Чаще всего, мы смотрим на календари, чтобы знать, как дата в определенный день недели. Например, требование может быть такое, узнать дату «когда следующий вторник». Вы будете рады узнать, что это возможно с помощью команды «date».

-d или –date параметр командной строки будет помощью в этом случае:

date -d "next Tuesday"

 

Вот вышеприведенная команда в действии:

date -d "next Tuesday" Tue Jul 11 00:00:00 MSK 2017

 

Итак, как вы можете видеть, команда показала, что следующий вторник 4 июля.

Входной параметр -d/–date может быть разных типов. Вот как man описывает эту команду:

--date = строка в основном свободный формат удобочитаемой строки даты, такие как «Sun, 09 Feb 2017 19:21:20 -1905» или «2017-02-09 19:21:20» или даже «в следующий четверг»,  Строка даты может содержать элементы, указывающие на календарную дату, время суток, часовой пояс, день недели, относительное время, относительную дату и номер. Пустая строка указывает на начало дня. Формат строки даты является более сложным, чем описываемая здесь, но полностью описаны в информационной документации.

 

Чтобы получить доступ к информации в документации на дату, используйте следующую команду:

info date

 

Q3. Как отображать информацию о дате/времени в формате ISO 8601?

В случае, если вы хотите, инструмент для отображения информации о дате/времени в формате ISO 8601, вы можете использовать параметр –iso-8601 командной строки. Эта опция требует, указать формат.

--iso-8601[=FMT]

 

Вот как страница людей объясняет «format»:

FMT='date' только для даты (по умолчанию), 'hours', 'minutes', 'seconds', или 'ns' для даты и времени с указанной точностью. Пример: 2017-07-09T19:20:30-0600

 

Например, мы тестировали следующую команду:

date --iso-8601=seconds

 

На выходе было произведено:

2017-07-09T19:48:20+03:00

Q4. Как отображать дату/время в формате RFC 3339?

Как вы уже догадались, есть специальный параметр командной строки для этого: –rfc-3339. Как вариант, рассмотренный в предыдущем разделе, один также требует ввести формат.

Следующий пример показывает эту опцию в действии:

date --rfc-3339=seconds 2017-07-09 19:49:58+03:00

 

Кроме того, вы можете использовать –rfc-2822 для возможности выводить данные в этом формате.

Q5. Как использовать дату для отображения времени последнего изменения файла?

Вы можете также использовать команду date, чтобы отобразить время последнего изменения файла. Опция -r позволяет сделать это. Вот пример:

date -r file1

 

Вывод:

date -r file1 Tue Jul 09 19:53:10 MSK 2017

 

Q6. Как установить системную дату/время, используя команду date?

Для установки системной даты/времени на другое значение, используйте параметр -s командной строки. Эта опция требует строку, которая будет использоваться в качестве входных данных для установки системной времени/даты.

date -s STRING

 

Примечание:

Доступные опции, которые можно использовать в качестве строк уже объяснены в Q2 выше.

Вот пример того, как мы использовали параметр -s, чтобы установить дату и время в нашей системы:

date -s "2017-06-27 14:53:00"

 

Пожалуйста, обратите внимание, что вам, возможно, придется использовать «sudo» для опции -s.

Q7. Как отобразить текущее время в другом месте?

Для того, чтобы команда date отображала текущее время в другом месте – скажем, Мельбурн в Австралии – использовать ее надо следующим образом:

TZ="Australia/Melbourne" date

 

Вот вышеприведенная команда в действии:

TZ="Australia/Melbourne" date Mon Jul 10 02:59:50 AEST 2017

 

Примечание:

Вы можете использовать команду «tzselect», чтобы найти значение, которое нужно для TZ.

Q8. Как распечатать или установить всеобщее Скоординированное время (UTC)?

Для этого используйте параметр -u командной строки. Например, следующая команда будет отображать информацию в формате UTC:

date -u

 

# date -u Sun Jul 9 16:32:28 UTC 2017

 

Вывод

Как большинство из вас, согласитесь, команда date не трудно понять и использовать. Кроме того, тот факт, что она также может быть использована при работе с несколькими географическими местами делает ее важным инструментом командной строки. Мы обсудили большинство параметров командной строки здесь, так что просто попробуйте их на вашей системе.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 281

Если статья понравилась, то поделитесь ей в социальных сетях:

andreyex.ru

Команда date - Linux FAQ

Команда date позволяет задействовать одноименную утилиту, которая используется для двух целей. Обычно она используется для получения текущих даты и времени при необходимости в заданном формате, но при этом она также позволяет устанавливать их.

Стандартный синтаксис команды выглядит следующим образом:

$ date [описание времени или формата вывода]

Формат ввода даты и времени

Для начала рассмотрим вопрос установки текущих даты и времени, так как данное действие выполняется достаточно просто (единственная сложность связана с запоминанием формата даты и времени). Вы можете самостоятельно выполнить команду man date для того, чтобы уточнить формат даты и времени, используемый в вашей системе. В большинстве случаев он является следующим:

# date MMDDhhmm[[CC]YY][.ss]

Но все не так сложно, как кажется на первый взгляд. Параметры в квадратных скобках являются необязательными — вы можете как использовать их, так и отказаться от их использования. Каждая пара букв соответствует элементу записи даты или времени:

Элемент записи Назначение
MM Месяц (от 01 до 12)
DD День (от 01 до 28, 29, 30 или 31 в зависимости от месяца)
hh Часы (от 00 до 24)
mm Минуты (от 00 до 59)
YY Две последние цифры года (от 00 до 99, не обязательно)
CC Век (от 00 до 99, используется вместе с предыдущим элементом, не обязательно)
.ss Секунды (от 00 до 59 с символом точки, не обязательно)

Как утилита вычисляет век? В UNIX-подобных операционных системах время хранится в формате числа секунд, прошедших с 1 января 1970 года в часовом поясе GMT (также известном, как UTC). Из-за того, что с этой даты прошло достаточно много времени, а для хранения количества секунд в 32-битных системах используется 4-байтовое целочисленное значение, в 2038 году на этих системах должен произойти переход счетчика секунд через нулевое значение. Ввиду того, что подсчитывается лишь количество секунд, век попросту не принимается во внимание. Таким образом, на 32-битных системах значения года от 00 до 38 соответствуют 2000-м годам, а значения года от 70 до 99 — 1900 годам. Фактически, на 32-битных системах команда date не позволяет установить год, не входящий в приведенные выше диапазоны. В 64-битных системах все проще: для подсчета времени используется 8-байтовое целочисленное значение, поэтому имеется огромный запас по времени (292 миллиарда лет), доступен полный диапазон годов от 00 до 99, а век вычисляется обычным образом по количеству прошедших секунд.

Для установки текущих даты и времени необходимы права пользователя root, иначе вы получите аналогичное сообщение об ошибке:

date: невозможно установить дату: Операция не позволена

Формат вывода даты и времени

Команда date без параметров хороша в том случае, если вам нужно узнать текущие дату в время. Но функция вывода даты и времени в произвольном формате полезна при разработке сценариев командной оболочки. Иногда нужно использовать максимально краткую запись даты; иногда в сценарии нужно обрабатывать лишь время без даты; иногда дату и время приходится сравнивать с датой и временем из внешнего источника и это сравнение будет гораздо более простым в случае получения текущих даты и времени в том же формате, в котором передаются данные из внешнего источника.

Для форматирования текущих даты и времени в соответствии со своими предпочтениями пользователь должен передать утилите строку форматирования после символа +:

$ date +"<строка форматирования>"

Строка форматирования состоит из параметров форматирования, приведенных в таблице ниже.

Параметр форматирования Назначение Пример вывода
%a Сокращенное название дня недели Чт
%A Полное название дня недели Четверг
%b Сокращенное название месяца июн
%B Полное название месяца Июнь
%d Номер дня недели 08
%D Текущая дата в формате ММ/ДД/ГГ 06/08/17
%F Текущая дата в формате ГГГГ/ММ/ДД 2017-06-08
%H Часы в 24-часовом формате в диапазоне от 00 до 23 18
%l Часы в 12-часовом формате в диапазоне от 01 до 12  6
%j Номер дня года в диапазоне от 001 до 366 159
%m Номер месяца в диапазоне от 01 до 12 06
%M Минуты в диапазоне от 00 до 59 24
%S Секунды в диапазоне от 00 до 60 22
%N Наносекунды в диапазоне от 000000000 до 999999999 335288238
%T Время в формате ЧЧ:ММ:СС в 24-часовом формате 18:24:22
%u Номер дня недели в диапазоне от 1 до 7 4
%U Номер недели в году в диапазоне от 00 до 53 23
%Y Полный номер года 2017
%Z Обозначение часового пояса MSK

Примеры использования

Получение текущих даты и времени

Для получения текущих даты и времени в стандартном формате достаточно выполнить следующую команду:

$ date

Утилита выведет аналогичную информацию:

Чт июн  8 15:12:21 MSK 2017

Для вывода даты и/или времени в пользовательском формате достаточно добавить символ + и строку форматирования. Например, для вывода даты и времени может использоваться команда:

$ date +"%H:%M %d/%m/%Y"

В результате будет выведена следующая информация:

19:33 08/06/2017

Добавление текущей даты в имена создаваемых файлов

Отличным примером использования команды date в сценариях является создание суффикса имени файла для автоматизированного создания нескольких файлов с аналогичными именами. Например, процесс создания создании резервных копий данных. Файл резервной копии данных создается с помощью утилиты tar и сохраняется на жестком диске большого, но не бесконечного объема. Локальная машина носит имя bugler, поэтому данное слово присутствует и в имени файла резервной копии. Файловая система с жесткого диска большого объема скопирована в директорию /bkup. Команда для создания резервных копий будет выглядеть следующим образом:

$ tar -zcf /bkup/bugler.backup.$(date +%a).tgz /

Она создает сжатый (благодаря параметру -z) файл архива всей файловой системы (благодаря символу / в конце команды) и сохраняет этот файл под именем /bkup/bugler.backup.Sat.tgz. В результате использования команды date при формировании имени файла, файл архива будет перезаписываться ровно через неделю, что позволит сэкономить дисковое пространство — оно будет просто повторно использоваться.

Примечание: конструкция $(<команда>) позволяет использовать вывод дополнительной команды в качестве части основной команды. Альтернативным решением является использование обратных кавычек: ...backup `date +%a`.tgz. При этом формат $(<команда>) гораздо проще в использовании.

Установка текущих даты и времени

В том случае, если вы не будете вводить необязательные элементы записи даты и времени, утилита будет считать, что вы выбрали текущий год. Таким образом, в случае исполнения следующей команды:

# date 06081540

системные часы будут переведены на 5 июня 2017 года (да, эта статья писалась именно в этот день). Теперь  предположим, что нам нужно установить 2018 год. В этом случае команда примет следующий вид:

# date 0608154018

Использование утилиты на удаленных системах

Для сравнения дат на локальном и удаленном компьютере достаточно настроить вход в удаленную систему без пароля и выполнить команду:

$ ssh root@<целевая система> date & date

Для установки локального времени на удаленном компьютере может использоваться следующая команда:

$ ssh root@<целевая система> "date $(date +%m%d%H%M.%S)"

linux-faq.ru

man linux - справочник linux » date

Синтаксис:

date [OPTION]… [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

Команда date вызванная без параметров, выводит текущие дату и время, а также часовой пояс, установленный в системе:

root@server [/]# dateSat Aug 23 22:13:48 EDT 2008root@server [/]#

Пример:Простой способ установить время и дату, набрать команду:

где:месяц mmчисло ddчасов HHминут MMГод yyА вот как установить дату и время, не меняя (не затрагивая) текущий год:

где:месяц mmчисло ddчасов HHминут MMОбратите внимание на кавычки в указанном примере, а лучше просто скопируйте пример и подставьте свои значения.

Для того, чтобы менять дату и время, необходимо иметь права root.

Опции:

-d, –date=string

Вместо текущего времени, выводит время описанное в строке string

-f, –file=datefile

Построчно обрабатывает файл datefile аналогично опции -d

-i, –iso-8601[=TIMESPEC]

Выводит дату и/или время в формате ISO-8601.Если TIMESPEC установлен как auto - выводится текущая дата.Если TIMESPEC установлен как hours или minutes или seconds - выводится дата и время, с указанной точностью.При отсутствии TIMESPEC, или при установке этого параметра как TIMESPEC=date, выводится только дата.

-r, –reference=file

Время последнего изменения файла file

-R, –rfc-822

Выведет дату в стандарте RFC-822

-s, –set=string

Устанавливает время, равное string

-u, –utc, –universal

Вывод или установка времени в формате UTC.

–help

Вывод справки.

–version

Информация о версии программы.

Описание опции FORMATДанная опция является текстовой строкой, в которой определенным образом обрабатываются следующие последовательности символов:

%%

- литерал %

%a

- название дня недели сокращенно (Mon, Tue, Wed, Thu, Fri, Sat, Sun)Обратите внимание - в зависимости от языка системы, названия могут выводиться на других языках.

%A

- название дня недели полностью

%b

- название месяца сокращенно, ту же информацию выведет последовательность %h

%B

- название месяца полностью

- дата и время по местному времени

%d

- день месяца 01-31

%D

- дата в формате mm/dd/yy

%e

- день месяца 1-31 (без нулей в первых девяти числах месяца).

%H

- часы 00-23

%I

- часы 00-12

%j

- день года по юлианскому календарю 001-36

%k

- часы 0-23 (без предшествующих нулей в первых десяти часах)

%l

- часы 0-12 (без предшествующих нулей в первых десяти часах)

%m

- номер месяца 01-12

%M

- минуты 00-59

%n

- символ новой страницы newline

%p

- локализованное время (AM -до полудня и PM - после полудня)

%r

- время в 12-часовом формате hh:mm:ss[AM]PM

%s

- timestamp (количество секунд прошедшее с 00:00:00 1 января 1970 года UTC)

%S

- секунд 00-59

%t

- горизонтальная табуляция

%T

- время в 24-часовом формате hh:mm:ss

%U

- номер недели в году, с воскресеньем в качестве первого дня недели 00-53

%V

- номер недели в году, с понедельником в качестве первого дня недели 01-52

%w

- день недели 0-6 где ноль является воскресеньем

%W

- номер недели в году, с понедельником в качестве первого дня недели 00-53

%x

- дата в формате mm/dd/yyyy

%X

- время в формате %H:%M:%S

%y

- две последние цифры года

%Y

- год в виде четырех цифр

%Z

- часовой пояс, если он установлен в системе.

%z

- числовой стиль часового пояса в стандарте RFC-822

Если общепринятое число времени или даты может состоять из двух символов и более символов (часы, минуты, дни, месяцы - из двух, год - из четырех и т.п.) и если выводимое число состоит из меньшего количества символов (например, седьмое число месяц “7″), команда date по умолчанию заполняет число предшествующими нулями (например, седьмое число месяца “07″).Можно изменять это, используя следующие модификаторы:

-

- (дефис): число не заполняется предшествующими нулями

_

- (подчеркивание): вместо предшествующих нулей подставляются пробелы.

Пример:

root@server [/]# date +%Y/%m 2008/08 root@server [/]# date +%Y/%-m 2008/8 root@server [/]# date +%Y/%_m 2008/ 8

man-linux.ru