Найти в Дзене

64-битный unix timestamp

Самое муторное и нудное в программировании обычно — это перевод даты в человеческую форму представления и обратно. У каждого языка свое хаос. Существуют две основные системы — первая, наиболее удобная, это unix timestamp. Представляет из себя целое число — количество секунд, прошедших с 1 января 1970 года, например, текущая дата — 1763041543. Вторая — это DATETIME, хранится в формате 0000-00-00 00:00:00. Тут, конечно, можно задавать абсолютно любую дату. Увы, этот формат кошмарно неудобен для работы (прибавление дат, вычитание, подключение временных поясов и т.д.), поэтому многие работают с первым форматом. Для него написано множество библиотек. Но так как в 1970-х годах существовали только 32-битные процессоры, у этого 32-битного формата есть ограничение — это дата 19 января 2038 года (когда в 32 битах все будет представлено единицами). Поэтому уже пора начинать потихоньку переходить на 64-битное представление этого формата. Вот его отличие: Он позволит представлять абсолютно любую да

Самое муторное и нудное в программировании обычно — это перевод даты в человеческую форму представления и обратно. У каждого языка свое хаос. Существуют две основные системы — первая, наиболее удобная, это unix timestamp. Представляет из себя целое число — количество секунд, прошедших с 1 января 1970 года, например, текущая дата — 1763041543. Вторая — это DATETIME, хранится в формате 0000-00-00 00:00:00. Тут, конечно, можно задавать абсолютно любую дату. Увы, этот формат кошмарно неудобен для работы (прибавление дат, вычитание, подключение временных поясов и т.д.), поэтому многие работают с первым форматом. Для него написано множество библиотек.

Но так как в 1970-х годах существовали только 32-битные процессоры, у этого 32-битного формата есть ограничение — это дата 19 января 2038 года (когда в 32 битах все будет представлено единицами). Поэтому уже пора начинать потихоньку переходить на 64-битное представление этого формата. Вот его отличие:

Он позволит представлять абсолютно любую дату и поэтому необходимость в DATETIME исчезнет и тогда всем будет удобно работать в одном формате. Этого формата хватит на 296 миллиардов лет. :) А переходить потихоньку уже надо, потому что, как известно, рынок IT хоть и очень подвижный, но любые систематизации там проходят оооооочень долго. Поэтому как раз успеем к 2038 году. А то может и опоздаем даже.