MySQL:使用1970年以前的日期

时间:2010-12-16 23:58:20

标签: php mysql types date

我正在1970之前有很多活动的教会网站上工作,这些活动从1001开始到今天,如何将日期存储在MySQL

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

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

这仅适用于1970之后的日期,如何在今年之前存储日期?

我应该在MySQL中使用哪种数据类型?现在我已将我的列设置为date类型

1 个答案:

答案 0 :(得分:20)

DATE没问题。它可以存储值from 1000 to 9999 AD

  

当您只需要日期值而没有时间部分时,将使用DATE类型。 MySQL以'YYYY-MM-DD'格式检索并显示DATE值。支持的范围是'1000-01-01'到'9999-12-31'。

与PHP的旧式日期函数(date()strtotime() ....)不同,这些函数与UNIX时间戳一起使用,并且在使用32位值时,仅限于日期范围1970年至2038年。

要使用超出该值的日期值,请使用PHP 5的new object-oriented DateTime class