timestamp и max integer

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
Maxim Glushko
Сообщения: 72
Зарегистрирован: 2017.04.24, 19:16
Откуда: Україна, Одеса

timestamp и max integer

Сообщение Maxim Glushko » 2018.08.04, 11:42

Задался вопросом, а какова максимальная величина timestamp, что суётся в mysql со знаком.
Оказалось - 19 Jan 2038. Легко могу дожить, если похудею. Вырисовалась проблема.
Если сделать int->unsigned - получится максимальное 07 Feb 2106. И проблема уже не столь близкая.
Лезу в php:
Размер integer зависит от платформы, хотя, как правило, максимальное значение примерно равно 2 миллиардам (это 32-битное знаковое). 64-битные платформы обычно имеют максимальное значение около 9E18, кроме Windows, которая всегда 32-битная. PHP не поддерживает беззнаковые целые (integer). С версии PHP 5.0.5 размер integer может быть определен с помощью константы PHP_INT_SIZE, а максимальное значение - с помощью константы PHP_INT_MAX. С версии PHP 7.0.0 так же введена константа PHP_INT_MIN, с помощью которого можно определить минимальное значение.
И у меня в OpenServer Винды, и на хостинге PHP_INT_MAX определяется как 9223372036854775807
Т.е. можно сделать в mysql поле беззнаковым и забыть, т.к. в php это значение никак не будет переполненным? Или всё же существуют хостинги, где в переменную php не поместится 4294967295? И поэтому бесполезно в mysql делать int беззнаковым?

Аватара пользователя
samdark
Администратор
Сообщения: 8817
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: timestamp и max integer

Сообщение samdark » 2018.08.04, 23:45

Обычно хостинги на 64 битных ОС.

Ответить