MySQL数据库+时间戳/ PHP

时间:2011-08-25 22:55:03

标签: php mysql date timestamp

我的数据库中有一个变量timestamp。它的默认值是“CURRENT_TIMESTAMP”,这是一个很棒的功能。

然而,当我在模板中输出变量时,它被格式化为实际日期。 php在这里做了什么想法,或者数据库中的日期是否仍然存储为时间戳?我需要对系统中某些功能的日期执行一些计算。

2 个答案:

答案 0 :(得分:3)

您正在将MySQL TIMESTAMP(YYYY-MM-DD HH:MM:SS)与Unix TIMESTAMPS(自纪元以来的秒数)混淆。

SELECT UNIX_TIMESTAMP(timestamp_column_name) FROM ...应该为您提供您想要的内容

MySQL Manual (UNIX_TIMESTAMP)

答案 1 :(得分:1)

当您第一次插入值时,CURRENT_TIMESTAMP将被解释并替换为当前函数NOW()的值。对于时间戳,mysql存储一个4字节的整数,表示当前时区中自unix纪元以来的秒数。您仍然可以使用日期和时间函数在mysql中进行计算(例如,返回其他格式等)。如果您有兴趣,可以在PHP中使用此值进行计算。

http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html#id624727

http://en.wikipedia.org/wiki/Unix_time

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

http://us.php.net/manual/es/ref.datetime.php