Страница 1 из 1

Найден баг

Добавлено: 19 авг 2012, 22:38
titans
Всем привет. Я тут писал программку для себя, использовал этот сервис для определении дня недели.http://flapps.ru/day-of-week/
Вы мне можете сказать, куда у вас пропал день? Или у вас 32 декабря появилось?
Изображение

Re: Найден баг

Добавлено: 19 авг 2012, 22:48
alexei
Может из-за этого? http://ru.wikipedia.org/wiki/UNIX-%D0%B ... 0%BC%D1%8F Очередное переполнение.

Лично, я использую для времени поле int и UnixTime.

Re: Найден баг

Добавлено: 20 авг 2012, 20:01
Александр
titans
Не надо использовать этот сервис для своих проектов. В PHP есть возможность напрямую определить день недели по дате.
В функции getdate есть "wday" - Порядковый номер дня недели. От 0 (воскресенье) до 6 (суббота). Эта функция и используется в скрипте. В нем и ограничения по датам.

В описании приложения вконтакте, которое работает через этот скрипт, написаны пределы дат к которым можно определить день недели.

Re: Найден баг

Добавлено: 20 авг 2012, 23:34
alexei
А из-за чего такие пределы интересно.

Re: Найден баг

Добавлено: 21 авг 2012, 10:37
Александр
alexei
В 32-битных системах, в int может храниться максимум 2^32 = 4294967296. Может быть со знаком минуса, тогда половина положительных и половина отрицательных 4294967296/2 = 2147483648.
Получается от -2147483648 до 2147483647. Если считать это как секунды, то это примерно 68 лет. 1970 - начало отсчета Unix time.
1970 - 68 = 1902
1970 + 68 = 2038

Re: Найден баг

Добавлено: 21 авг 2012, 15:42
vitebsk911
О боже... по календарю Ктулху конец света в 2038 году(ссори за оффтоп)