Пожалуйста подождите

*nix и время

10 февраля 09:12
Рейтинг +00 - +    Эмоции
комментариев: 13
Но интересно же ;)
Копипаст чистейшей воды:

Пользователи UNIX-подобных операционных систем по всему готовятся отметить символичную дату. 13 февраля 2009 года в 23:31:30 по Гринвичу UNIX-время во всех системах, работающих в данном стандарте, достигнет отметки 1 234 567 890 секунд. Помимо того, что на серверах выстраивается такая комбинация цифр, так эта дата еще и приходится на пятницу 13-е, говорят многие суеверные администраторы.

Unix-время представляет собой способ кодирования времени, принятый в UNIX и других POSIX-совместимых операционных системах. Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента называют «эрой UNIX».

Время UNIX согласуется с UTC, в частности, при объявлении високосных секунд UTC соответствующие номера секунд повторяются.

Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобочитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т.п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.

Чтобы узнать текущее UNIX-время в большинстве UNIX-подобных систем, можно использовать команду date +%s.

19 января 2038 года в 03:14:08 по всемирному времени значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 231, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение данной проблемы состоит в использовании не 32-битной, а 64-битной переменной для хранения времени, чего хватит ещё на 300 миллиардов лет.

Это с securitylab

Тринадцатого числа, в пятницу (по UTC), значение часов в Unix достигнет 1234567890. По московскому времени это произойдет в субботу 14-го, в 2:31:30

Узнать местное время этого события можно выполнив perl -e \'print scalar localtime(1234567890),"\\n";\' или date -d@1234567890

То есть в Н-ске это произойдет:


Метки меток нет

комментарии

К первому непрочитанному