如果我使用 PHP 的 Time() 函数并且在 MySQL 中有 4 个字段 DATE、DATETIME、TIMESTAMP 和 TIME,我应该使用哪一个?
在 PHP 中,我使用 Time() 来记录日期和时间,例如 2012 年 5 月 10 日,时间用于计算经过的时间。
使用你需要的东西:
日期:仅商店日期前:2012-06-11
DATETIME:存储日期和时间例如:2012-06-11 12:49:31
TIMESTAMP:存储日期和时间例如:2012-06-11 12:49:31 MySQL 具有将此字段设置为当前时间戳的功能,当行中有更新时。也许(现在不知道)可以用数字指定。其他必须指定'yyyy-mm-d hh:mm:ss'
将 DB 值转换为 PHP 的时间使用 strtotime()
我建议您改用MySQL 数据和时间函数。如果您需要存储当前时间,请使用 NOW()。它是 DATETIME 类型。或者,您可以使用 Unix Timestamp 将其存储为 INT。
Unix 时间戳是时间/日期的最基本形式——“原始格式”,如果您愿意的话。一旦你有了时间戳,你就可以得到你想要的任何其他格式。就我个人而言,我没有看到存储 DATE 或 DATETIME 的意义,只是在您再次检索数据时将其转换为时间戳,如果您想以任何可读格式显示日期/时间,您当然需要这样做(见date()
功能)。
MySQL 有一个字段 time 存储创建记录时的当前时间戳。或者,如果您想要更大的灵活性,PHP 的time()
函数会返回当前时间戳。PHP 还具有计算某个时间点的时间戳的功能(例如,如果您想以 dd/mm/yyyy 格式指定日期)。
所以总而言之,我会一直使用时间戳,我建议你也这样做,除非你有非常特殊的需求。