Пространство имён страницы (page_namespace ) | 0 |
Название страницы (без пространства имён) (page_title ) | 'UNIX-время' |
Полное название страницы (page_prefixedtitle ) | 'UNIX-время' |
Вики-текст старой страницы до правки (old_wikitext ) | '{{эта статья|о формате кодирования времени|time (Unix)|об утилите}}
{{другие значения термина|Time|Time}}
'''UNIX-время''' или '''POSIX-время''' ({{lang-en|Unix time}}) — система описания моментов во времени, принятая в [[UNIX]] и других [[POSIX]]-совместимых [[операционная система|операционных системах]].
Моментом начала отсчёта считается [[полночь]] (по [[Всемирное координированное время|UTC]]) с [[31 декабря]] [[1969 год]]а на [[1 января]] [[1970 год]]а, время с этого момента называют «эрой UNIX» ({{lang-en|Unix Epoch}}).
Время UNIX согласуется с UTC, в частности, при объявлении [[секунда координации|високосных секунд]] UTC соответствующие номера секунд повторяются.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобночитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 [[октет (информатика)|байтов]], в зависимости от размера [[машинное слово|машинного слова]]), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.
Чтобы узнать текущее UNIX-время в большинстве UNIX-подобных систем, можно использовать команду <code>date +%s</code>.
[[13 февраля]] [[2009 год]]а в 23:31:30 по [[UTC]] (02:31:30 [[14 февраля]] по [[MSK]]) значение UNIX-времени достигло 1234567890 секунд.
[[19 января]] [[2038 год]]а в 03:14:08 по всемирному времени значение [[переменная (программирование)|переменной]] типа <code>time_t</code>, отсчитывающей число [[секунда|секунд]], прошедших с [[1 января]] [[1970 год]]а, достигнет 2<sup>31</sup>, что может привести к ошибочной интерпретации этого числа как [[Дополнительный код (представление числа)|отрицательного]]. Возможное решение данной проблемы состоит в использовании не 32-[[бит]]ной, а 64-битной переменной для хранения времени (что и делается во всех современных 64-битных операционных системах), чего хватит ещё на 300 миллиардов лет.
== См. также ==
* [[Проблема 2038 года]]
* [[Timestamp]]
[[Категория:Календарь]]
[[Категория:UNIX]]
[[be:Час Unix]]
[[be-x-old:Час Unix]]
[[ca:Hora Unix]]
[[de:Unixzeit]]
[[en:Unix time]]
[[es:Tiempo Unix]]
[[fi:UNIX-aika]]
[[fr:Heure Unix]]
[[hu:Unix-idő]]
[[it:Tempo (Unix)]]
[[ja:UNIX時間]]
[[ka:იუნიქსის დრო]]
[[lv:UNIX laiks]]
[[nl:Unix Epoch]]
[[pl:Czas uniksowy]]
[[pt:Era Unix]]
[[sv:Unix time]]
[[zh:UNIX时间]]' |
Вики-текст новой страницы после правки (new_wikitext ) | '{{эта статья|о формате кодирования времени|time (Unix)|об утилите}}
{{другие значения термина|Time|Time}}
'''UNIX-время''' или '''POSIX-время''' ({{lang-en|Unix time}}) — система описания моментов во времени, принятая в [[UNIX]] и других [[POSIX]]-совместимых [[операционная система|операционных системах]].
Моментом начала отсчёта считается [[полночь]] (по [[Всемирное координированное время|UTC]]) с [[31 декабря]] [[1969 год]]а на [[1 января]] [[1970 год]]а, время с этого момента называют «эрой UNIX» ({{lang-en|Unix Epoch}}).
Время UNIX согласуется с UTC, в частности, при объявлении [[секунда координации|високосных секунд]] UTC соответствующие номера секунд повторяются.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобночитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 [[октет (информатика)|байтов]], в зависимости от размера [[машинное слово|машинного слова]]), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.
Чтобы узнать текущее UNIX-время в большинстве UNIX-подобных систем, можно использовать команду <code>date +%s</code>.
[[13 февраля]] [[2009 год]]а в 23:31:30 по [[UTC]] (02:31:30 [[14 февраля]] по [[MSK]]) значение UNIX-времени достигло 1234567890 секунд.
[[19 января]] [[2038 год]]а в 03:14:08 по всемирному времени значение [[переменная (программирование)|переменной]] типа <code>time_t</code>, отсчитывающей число [[секунда|секунд]], прошедших с [[1 января]] [[1970 год]]а, достигнет 2<sup>31</sup>, что может привести к ошибочной интерпретации этого числа как [[Дополнительный код (представление числа)|отрицательного]]. Возможное решение данной проблемы состоит в использовании не 32-[[бит]]ной, а 64-битной переменной для хранения времени (что и делается во всех современных 64-битных операционных системах), чего хватит ещё на 300 миллиардов лет.' |