关于php:unix timestamp vs datetime

Unix timestamp VS datetime

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
datetime vs timestamp?

我有一个mysql表,它有一个列add_date。它跟踪记录添加到数据库的日期/时间。

基于此表的查询:

  • 以以下格式添加记录时显示:2小时前、4周前、1年前等
  • 允许用户搜索任何日期/月/年中插入的记录。因此,用户可以选择只查看2009年插入的记录。
  • 在这种情况下,哪一个更好——unix时间戳还是datetime?

    现在我正在同时使用这两种方法,但是由于表将随着时间的推移拥有数百万条记录,同时拥有这两列可能会影响数据库的大小。

    Unix时间戳似乎更适合在PHP中转换为2 hours以前的格式,而且它与时区无关。但是datetime具有更好的可读性,并且对特定日期/时间/年进行查询似乎更容易。

    你的建议?


    当你有选择的时候,我会说去mysql约会。

    • 您不必处理日期范围问题

    • 您可以使用MySQL的日期函数(BETWEEN(), DATE_ADD等)轻松查询时间跨度。

    • 与日期相关的查询将更快,尤其是当您有数百万条记录时,因为您不必使用from_unixtime(),这在大型查询中可能很昂贵。

    • 必要时将日期字段转换为Unix时间戳是孩子们的游戏。


    通过使用unix时间戳和mysql from_unixtime()函数在需要时将结果转换为datetime格式,您可以获得两个方面的最佳效果。


    我会选择MySQL格式,只是因为MySQL有大量的datetime函数,要使用它,时间戳将花费您另一次转换。

    but since the table will have millions
    of records over time, having both
    columns may affect the size of the
    database.

    哦,我的。您真的关心4兆字节的额外空间吗?