Шабаш всех влюблённых в Unix
8 комментариевUNIX-время или POSIX-время (Unix time) — способ кодирования времени, принятый в UNIX и некоторых других POSIX-совместимых операционных системах.
$ date -ud@1234567890
Fri Feb 13 23:31:30 UTC 2009
Фактически, unix time (или time_t по типу переменной) — это число секунд, прошедших с точки начала отсчёта, которой считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970 года, а время с этого момента называют «эрой UNIX» (Unix Epoch).
Фанаты, гики и энтузиасты ещё во времена Fidonet завели традицию — отмечать особо ровные даты в unix-time, и такие даты стали называть «time_t parties».
Вот самые круглые time_t-даты:
- 9 сентября 2001 года в 01:46:40 UTC, биллениум Unix (1000000000)
- 18 марта 2005 года в 01:58:31 UTC (1111111111)
- 13 февраля 2009 года в 23:31:30 UTC (1234567890)
- 13 июля 2012 года в 11:01:20 UTC (1342177280 = 0x50000000)
- 18 мая 2033 года в 03:33:20 UTC , второй биллениум (2000000000).
Как видите, в ночь с 13 на 14 февраля этого года ожидается юбилей. Технически с учётом поправки на часовой пояс у нас это произойдёт уже 14-го в 31 минуту и 30 секунд первого. Забавно, что 13-е число приходится на пятницу, а 14-е — день всех влюблённых.
19 января 2038 года в 03:14:08 по UTC значение переменной типа time_t достигнет 231, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение «проблемы 2K38» — использование не 32-х, а 64-битной переменной.