UNIX-время
СОДЕРЖАНИЕ: Эта статья о формате кодирования времени; об утилите см.: time (Unix). Для термина «Time» см. другие значения. UNIX-время POSIX-время (англ. Unix time
Эта статья о формате кодирования времени; об утилите см.: time (Unix).
Для термина «Time» см. другие значения.
UNIX-время или POSIX-время (англ. Unix time ) — система описания моментов во времени, принятая в UNIX и других POSIX-совместимых операционных системах.
Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970 года, время с этого момента называют «эрой UNIX» (англ. Unix Epoch ).
Время UNIX согласуется с UTC, в частности, при объявлении високосных секунд UTC соответствующие номера секунд повторяются.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобночитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.
Чтобы узнать текущее UNIX-время в большинстве UNIX-подобных систем, можно использовать команду date +%s.
10 января 2004 года в 13:37:04 по GMT значение UNIX-времени достигло значения в 1073741824=230 секунд или в одну Гигасекунду.
13 февраля 2009 года в 23:31:30 по UTC (02:31:30 14 февраля по MSK) значение UNIX-времени достигло 1234567890 секунд.
13 марта 2011 года в 7:06:40 по GMT (10:06:40 13 марта по MSK) значение UNIX-времени будет равно 1300000000 секунд.
19 января 2038 года в 03:14:08 по всемирному времени значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 231, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение данной проблемы состоит в использовании не 32-битной, а 64-битной переменной для хранения времени (что и делается во всех современных 64-битных операционных системах), чего хватит ещё на 300 миллиардов лет.
Источник: http://ru.wikipedia.org/wiki/UNIX-время