ryg

Команда date - отобразить и установить дату и время в Mac OS X

Синтаксис:

     date [-ju] [-r seconds] [-v [+|-]val[ymwdHMS]] ... [+output_fmt]
     date [-jnu] [[[mm]dd]HH]MM[[cc]yy][.ss]
     date [-jnu] -f input_fmt new_date [+output_fmt]
     date [-d dst] [-t minutes_west]

Описание:

При запуске без каких-либо параметров, команда date отобразит системное время и дату. Параметры позволяют изменять формат вывода даты и времени и изменять системное время компьютера.

Время и дата считываются из часов ядра Mac OS X. При использовании параметров изменения даты и времени обновляется время, как и в ядре операционной системы, так и аппаратные часы. Для изменения времени необходимо иметь права супер-пользователя, но в случае если в Mac OS X установлен уровень защиты больше чем 1 (команда securlevel), то системное время не может быть изменено более чем на одну секунду.

Параметры:

-d dst Установить для ядра переход на зимнее и летнее время. Если dst не ноль, то вызовы функции togettimeofday будут возвращать не нулевое значение системной переменной tz_dsttime.
-f Использовать строку формата для разбора задаваемого времени input_fmt, а не использовать формат по умолчанию [[[mm]dd]HH]MM[[cc]yy][.ss]. Разбор строки времени производится с помощью функции strptime.
-j Не позволяет изменять дату. Данный параметр позволяет использовать -f и параметры конвертации даты из одного формата в другой.
-n Если запущен демон timed, то изменение даты и времени происходит на всех компьютерах в локальной группе. Параметр -n позволяет в данной ситуации изменить время только на одном компьютере.
-r seconds Задается количество секунд прошедших от 00:00:00 1 января 1970 по всемирному координированному времени UTC. Печатает дату и время, которое получается, от заданного смещения. Seconds могут быть заданы в десятичной, восьмеричной и шестнадцатеричной системе счисления.
-t minutes_west Позволяет задать смещение в минутах на запад от GMT (от Гринвичского меридиана). minutes_west определяет количество минут возвращаемых переменной  tz_minuteswest при вызовах функции gettimeofday
-u Показать текущее время UTC (Всемирное координированное время - отличается от Гринвича менее чем на 1 секунду).
-v В случае если времени предшествует знак плюс '+' или минус '-', то происходит корректировка времени, то есть берется текущее время и сдвигается на заданное значение секунд, минут, часов, дней месяца, недели, месяцев или лет вперед или назад в зависимости от знака. Если знак не установлен, происходит установка нового заданного времени. Дата в одной команде может быть скорректирована несколько раз. Обработка происходит последовательно, в порядке обнаружения параметров.

При установке значения даты-времени, а не корректировке ее, секунды и минуты должны быть в диапазоне 0-59, часы в диапазоне 0-23, дни месяца 1-31, день недели 0-6 (воскресенье - суббота), месяца 1-12 и года в диапазоне 80-38 или 1980-2038.

Если используются числовые значения, то необходимо указать каждый параметр  y, m, w, d, H, M, S для корректировки.
День недели и месяц могут быть заданы именем, а не числовым значением. Если указать перед ними знаки '+' или '-' будет произведен сдвиг даты, но только если день недели и месяц отличаются от текущего. В противном случае изменения даты не произойдет.
 
Если устанавливается конкретное значение даты и времени использование летнего/зимнего времени может быть проигнорировано. Это происходит, если корректировка пересекает момент перехода на зимнее или летнее время.
 
Если корректировка устанавливает не существующее время (выпадающее из-за перехода на летнее время). Время будет автоматически переведено на 1 час вперед для установки действительного времени. Если устанавливается время, существующее дважды (во время перехода на зимнее время) будет установлено более раннее время.
 
Сдвиг (сдвиг) даты по месяцам, неоднозначная функция из-за различного количества дней в месяце. Прежде всего, утилита пытается сохранить номер дня в месяце в случае, например, сдвига вперед на один месяц с 31 мая, то будет установлено 30 июня, аналогично сдвиг с 30 января установит последний день февраля. Поэтому необходимо помнить, что при сдвиге месяцев как вперед, так и назад может поменяться день месяца

Каноническое представление даты и времени в Mac OS X и BSD.

cc       Столетие (может быть 19 или 20) и предшествует году
yy       Номер года. Может быть как 88 для 1988 или 07 для 2007. mm Номер месяца, числа от 1 до 12.
dd       День месяца. Число от 1 до 31
HH       Час. Число от 0 до 23.
MM       Минуты 0-59.
ss       Секунды 0-61 (0-59 плюс две секунды сдвига)

Все кроме минут является обязательным.

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

Возвращаемое значение

В случае успешного завершения возвращается 0, Если невозможно изменить дату возвращается 1 и 2 если можно изменить дату на локальном компьютере, но невозможно изменение в группе (параметр -n)

Примеры:

Установить время 14:35, без изменения даты

     date 1435

Установить дату: 06 июля, 2013 года 20:27

     date 0706202713 

cal -отобразить календарь и дату Пасхи
systemsetup - управление системными настройками

Весь список команд терминала OS X