2010-12-16 5 views
9

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

$y = $_REQUEST["year"]; 
$m = $_REQUEST["month"]; 
$d = $_REQUEST["day"]; 

$date = date("Y-m-d", "$y/$m/$d"); 

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

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

ответ

20

DATE это хорошо. Он может хранить значения from 1000 to 9999 AD.

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

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

Чтобы работать с значениями даты за пределами этого, работайте с PHP 5's new object-oriented DateTime class.

+0

@webbiedave приветствия! – 2010-12-17 00:23:12