UNIX time 1234567890
13 февраля 2009
Сегодня или завтра (у кого как) число секунд с 1 января 1970 г. станет красивым: 1234567890. У нас это будет:
$ date -d@1234567890
Сбт Фев 14 05:31:30 KGT 2009
А так можно убедиться, что проблема 2038-го года существует:
$ date -d@2147483647
Втр Янв 19 09:14:07 KGT 2038
$ date -d@2147483648
date: invalid date `@2147483648'
Десятичное число 2 147 483 647 в двоичной системе выглядит так: 111 1111 1111 1111 1111 1111 1111 1111, в шестнадцатиричной — так: 7FFFFFFF. Это предел 32-битного signed int (1 бит определяет флаг signed/unsigned). В 64-битных операционных системах эта проблема должна быть решена, но мне негде это проверить практически.
Ой, мне малым-мало спалось:
