PHP time() 函数和 MySQL 字段


PHP time() function and MySQL fields

如果我使用 PHP 的 Time() 函数,并且在 MySQL 中有 4 个字段 DATE、DATETIME、TIMESTAMP 和 TIME,我应该使用哪一个?

在 PHP 中,我使用 Time() 记录日期和时间,如 5/10/2012,时间用于计算经过的时间。

使用你需要的东西:

日期:仅商店天数 例如: 2012-06-11

日期时间:存储日期和时间 例如: 2012-06-11 12:49:31

时间戳:存储日期和时间 例如: 2012-06-11 12:49:31MySQL具有将此字段设置为当前时间戳的功能,当行中有更新时。也许(现在不知道)可以通过数字指定。其他必须指定 'yyyy-mm-d hh:mm:ss'

要将 DB 值转换为 PHP 的时间,请使用 strtotime()

我建议你改用MySQL数据和时间函数。如果需要存储当前时间,请使用 NOW()。它是日期时间类型。或者,您可以使用Unix时间戳将其存储为INT。

Unix时间戳是时间/日期的最基本形式 - 如果你愿意的话,这是一种"原始格式"。 有了时间戳后,您可以使用所需的任何其他格式。 就个人而言,我不认为存储 DATE 或 DATETIME 有什么意义,只是在再次检索数据时将其转换为时间戳,如果您想以任何可读格式显示日期/时间,您当然需要这样做(请参阅date()函数)。

MySQL有一个字段时间,用于存储创建记录时的当前时间戳。 或者,如果你想要更大的灵活性,PHP 的 time() 函数返回当前时间戳。 PHP 还具有计算某个时间点的时间戳的功能(例如,如果您想以 dd/mm/yyyy 格式指定日期)。

所以总而言之,我总是使用时间戳,我建议你也这样做,除非你有非常具体的需求。