MySQL:使用1970年以前的日期

vit*_*tto 10 php mysql types date

我正在一个以前有很多活动的教堂工作1970,这些活动从1001今天开始,我怎样才能存储日期MySQL

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

$date = date("Y-m-d", "$y/$m/$d");
Run Code Online (Sandbox Code Playgroud)

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

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

Pek*_*ica 20

DATE很好.它可以存储1000到9999 AD的值.

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

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

要使用超出该值的日期值,请使用PHP 5的新面向对象DateTime.

  • 1000年之前没有日期?假设你想存储你的生日.耶稣会做什么? (15认同)
  • @Wouter嘿!:) @ajreal在他的(现已删除)答案中有解决方案,将年份存储为单独的signed int.我不认为`DATE`能做到这一点 (2认同)