我的数据库中有一个timestamp类型的变量。它的默认值是"CURRENT_TIMESTAMP“,这是一个很好的特性。
但是,当我在模板中输出变量时,它被格式化为实际的日期。php在这里做了什么奇特的事情,或者数据库中的日期仍然存储为时间戳?我需要对系统中某些功能的日期执行一些计算。
发布于 2011-08-26 06:59:20
您将MySQL时间戳(YYYY-MM-DD HH:MM:SS)与Unix时间戳(从纪元开始的秒数)混淆了。
SELECT UNIX_TIMESTAMP(timestamp_column_name) FROM ...应该给你想要的东西
发布于 2011-08-26 07:09:09
当您第一次插入该值时,将解释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
https://stackoverflow.com/questions/7198152
复制相似问题