【问题标题】:MySQL database + timestamp / PHPMySQL 数据库 + 时间戳 / PHP
【发布时间】:2011-08-25 22:55:03
【问题描述】:

我的数据库中有一个时间戳类型的变量。它的默认值为“CURRENT_TIMESTAMP”,这是一个很棒的功能。

但是,当我在模板中输出变量时,它被格式化为实际日期。 php 是在这里做一些花哨的事情还是数据库中的日期仍然存储为时间戳?我需要对系统中某些功能的日期进行一些计算。

【问题讨论】:

  • current_timestamp 存储实际的日期和时间。

标签: php mysql date timestamp


【解决方案1】:

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

SELECT UNIX_TIMESTAMP(timestamp_column_name) FROM ...应该给你你想要的

MySQL Manual (UNIX_TIMESTAMP)

【讨论】:

    【解决方案2】:

    当您第一次插入值时,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

    【讨论】:

      猜你喜欢
      • 2012-11-03
      • 1970-01-01
      • 2016-03-06
      • 2015-02-04
      • 2015-09-14
      • 1970-01-01
      • 2015-10-11
      • 2011-04-20
      • 1970-01-01
      相关资源
      最近更新 更多