Я работаю на сайте церкви, где есть много событий до 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.