php - 有比 time() 更好的方法在数据库中保存日期吗?

标签 php mysql

我习惯于使用 time() 将数据库中的日期保存为 INT(11)。 考虑到 time() 的限制,有没有更好的方法来保存它?

我不想使用数据库自​​己的 DATE 类型(以及所有数据库自己的日期函数)。

谢谢

最佳答案

好的,根据评论,我了解到使用 time() 的问题在于我们希望表示 01/01/1970 到 whenever/2038 范围之外的日期。

在这种情况下,我认为最好将数据库的日期格式设置为 YmdHis,存储在 BIGINT 中(如果不需要时间,则只存储在 INT 中的 Ymd ).您可以使用 date_create("now")->format($fmt) 而不是 time(),$fmt 是 'Ymd' 表示仅日期或 'YmdHis' 用于日期+时间

这给出了 922,337,203AD 中某处的最晚日期和最早的 -922,337,203BC 时间,或 214,748AD 到 -214,748BC 的 INT,没有时间。

关于php - 有比 time() 更好的方法在数据库中保存日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5824964/

相关文章:

php - Paginator Symfony 关于进行查询的建议

PHP 日期未以正确的格式插入

java - 即使我用@Column(unique=true) 标记,也需要放置@Index 吗?

PHP/MySQL - "BEGIN...COMMIT"不工作

javascript - 这段 JavaScript 代码可以用 jQuery 重写吗?

php - 如何从数据库laravel中检索多个图像?

php - 在 PHP 中读取远程页面的一部分

mysql - 表 1、表 2 的多列左连接

php - 使用 jQuery 循环遍历 mySQL json_encode

php - 如何将我自己的数字插入除法查询中?