php - MySQL:1970 年之前的日期

标签 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 类型

最佳答案

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

The DATE type is used when you need only a date value, without a time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'.

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

要处理超出此范围的日期值,请使用 PHP 5 的 new object-oriented DateTime class .

关于php - MySQL:1970 年之前的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4466546/

相关文章:

php explode 所有字符

php - 如何比较两个输入变量与mysql存储值(PHP)?

php - Android + php + mysql 问题

c# - 将两个 PHP 函数转换为 C#

php - SQL 中的按 DATE_FORMAT 分组并返回 Unix 时间戳组

c# - 如何才能使只有登录用户才能查看自己的成绩?

mysql - 选择从 COUNT() 派生的所有相似的 MAX 值

java - 您如何证明数组类型是引用类型?

c# - 为什么不能通过表达式引用类型?

types - 在 Racket 中对参数进行类型检查是一种好习惯吗