2

好吧,我有点困惑。我正在做一个必须time()在数据库中存储一些的项目。在我看来,为了更好的灵活性,我应该将它存储为时间戳,以便我可以在 2 次和其他很酷的东西之间进行操作。但是我已经看到(这里比其他任何地方都多)很多人以日期格式将时间存储在数据库中,遇到一些常见问题,例如:如何将日期格式转换为时间戳?或者我怎样才能将一个日期减去另一个具有不同日期格式的日期?等等

我使用时间戳并稍后将其转换为时间格式(显示给用户)是否错了?mysql数据库。

4

3 回答 3

2

MySql 支持 DateTime、Date 和 Timestamp 列,并提供了许多方便的函数来通过 SQL 使用它们。我建议通读链接的手册页以选择适合您需要的手册页。

于 2010-12-07T14:33:28.013 回答
1

万一你不知道,MySQL 支持几个日期函数,DATESUB、DATEADD 等。

于 2010-12-07T14:28:29.280 回答
1

我倾向于以 int(10) 格式存储时间戳,因为 UNIX 时间戳总是 10 个字符长。建议使用 int 而不是 varchar 或 char,因为当您使用 SQL 的 ORDER 语法时,它不会得到不正确的顺序。

假设您想从日期转换为时间戳,您可以使用strtotimemktime,具体取决于您在做什么。

要计算出两个时间戳之间的差异,只需将它们彼此相减即可。

对于时区问题,您可以使用date_default_timezone_set将其设置为用户所在的国家/地区。当您使用日期等功能时,将考虑到这一点

于 2010-12-07T14:30:37.193 回答