Intereting Posts

MySQL: работа с датами до 1970 г.

Я работаю на сайте церкви, где есть много событий до 1970 , эти события начинаются с 1001 до сегодняшнего дня, как я могу хранить даты в MySQL ?

 $y = $_REQUEST["year"]; $m = $_REQUEST["month"]; $d = $_REQUEST["day"]; $date = date("Ymd", "$y/$m/$d"); 

Это отлично работает только для дат после 1970 , как я могу хранить даты до этого года?

Какой тип данных должен иметь в MySQL ? Теперь я установил тип столбца на date

DATE в порядке. Он может хранить значения от 1000 до 9999 AD .

Тип DATE используется, когда вам нужно только значение даты, без временной части. MySQL извлекает и отображает значения DATE в формате «YYYY-MM-DD». Поддерживаемый диапазон – от «1000-01-01» до «9999-12-31».

Это отличается от функций date() старого стиля PHP ( date() , strtotime() ….), они работают с отметками времени UNIX и при использовании 32-битных значений ограничены диапазоном дат с 1970 по 2038 год.

Чтобы работать с значениями даты, выходящими за рамки этого, работайте с новым объектно-ориентированным классом DateTime PHP 5.