0

快速的问题,我无法找到一个好的答案。当我开始使用 PHP 和 mySQL 时,我学会了将日期/时间存储为 Unix 时间戳。mySQL 数据类型是 BIGINT,PHP 的 date 函数在处理这个问题上做得很好。当我查看文档等时,似乎 Timestamp 数据类型变得更加突出。存储日期的 BIGINT 方式是否已过时?对于现在使用哪种方法更好,是否存在一般的思想流派?

我知道时间戳数据类型对默认值或更新具有“当前时间戳”,这很好。

想法?

提前致谢

4

2 回答 2

1

安德鲁,您不应该使用任何类型的 INT 数据类型来保存日期。MySQL 提供了很多选项,例如 TIMESTAMP(如您所提到的)、DATETIME、DATE、TIME、YEAR。您还可以更轻松地使用本机 MySQL 时间函数。因此,没有理由真正使用任何其他数据类型。

[编辑]

MYSQL 文档对其数据类型非常清楚:

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in ‘YYYY-MM-DD HH:MM:SS’ format. The supported range is ’1000-01-01 00:00:00′ to ’9999-12-31 23:59:59′.

The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of ’1970-01-01 00:00:01′ UTC to ’2038-01-19 03:14:07′ UTC.
于 2013-06-27T00:34:22.800 回答
1

我要给出的主要论点是这种数据类型是为这项工作而设计的。

一个优点timestamp是软件可以理解数字实际上是一个日期,并将显示一个人类可读的日期。int当您将日期存储为s时,这始终是一个问题。

但是要记住的一件事是timestamp在 1970 年 1 月 1 日之前的日期不起作用,但这与int方法没有什么不同。

于 2013-06-27T00:33:11.637 回答