gpt4 book ai didi

php - 哪个更适合在 MySQL 中存储非公历日期时间? datetime+PHP 将 OR varchar 或 Unix 时间戳转换为 int

转载 作者:行者123 更新时间:2023-11-28 23:28:22 24 4
gpt4 key购买 nike

我有一个表,其中应该有几个列用于非公历日期时间(Jalali 日历)。我需要在 order 和 where 语句中使用它们以在 HTML 中显示完整的表格内容。 同时考虑 MySQL 和 PHP 执行时间,哪种情况会带来更好的性能?

1) 在每次读/写和使用 MySQL 日期时间中使用 PHP 将非公历日期时间转换为公历时间。

2) 在每次读/写中使用 PHP 并使用 MySQL int/bigint 将非公历日期时间转换为 UNIX 时间戳。

3) 使用 MySQL varchar。

最佳答案

这实际上取决于您希望在数据库中使用多少值(value),以及您希望如何在那里使用它。

我的直觉会建议在数据库端使用标准日期时间,并且仅在需要时在客户端/PHP 端转换、提供给查询和显示日期的搜索条件。这将使您能够利用内置的 MySQL 日期和日期时间函数。

但是,由于我不熟悉那个日历,并且只浏览了 wiki 并且“计算日历的困难”对我来说很突出;所以我的直觉可能不正确。您可能最好在数据库中为 Jalali 日历创建一组存储函数,以反射(reflect) MySQL 提供的函数,或者使用完整的编程语言进行计算可能会容易得多。

您甚至可能希望将 Jalali 存储为标准日期/日期时间类型或 unixtimestamp 整数以外的其他内容;相反,也许发明或找到可以利用 MySQL 中可用的索引选项的 jalalitimestamp 值的一些实现。

关于php - 哪个更适合在 MySQL 中存储非公历日期时间? datetime+PHP 将 OR varchar 或 Unix 时间戳转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com