我的数据库中有一个变量timestamp。它的默认值是“CURRENT_TIMESTAMP”,这是一个很棒的功能。
然而,当我在模板中输出变量时,它被格式化为实际日期。 php在这里做了什么想法,或者数据库中的日期是否仍然存储为时间戳?我需要对系统中某些功能的日期执行一些计算。
答案 0 :(得分:3)
您正在将MySQL TIMESTAMP(YYYY-MM-DD HH:MM:SS
)与Unix TIMESTAMPS(自纪元以来的秒数)混淆。
SELECT UNIX_TIMESTAMP(timestamp_column_name) FROM ...
应该为您提供您想要的内容
答案 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