在MySQL数据库中存储Unix时间戳需要什么尺寸的INT?

时间:2016-05-13 19:31:39

标签: php mysql int

我是否需要MySQL数据类型INTBIGINT来存储由PHP mktime返回并由date函数使用的Unix时间戳?< / p>

1 个答案:

答案 0 :(得分:1)

您可以检查PHP的常量PHP_INT_MAX以查找最大整数。这在环境之间会有所不同。在我的本地系统上:

echo date('Y-m-d H:i:s', PHP_INT_MAX) . '<br />';
// outputs: 292277026596-12-04 09:30:07

所以我可以创建的最大时间戳是:

echo mktime(9, 30, 7, 12, 4, 292277026596);
// outputs: 9223372036854775807

任何更大的结果都会产生与2038 problem类似的东西(数字变为负数)。

所以在我的特定系统上,我需要使用mysql的BIGINT来存储这些值,因为INT只能达到2147483647. Reference