【问题标题】:How to create TIMESTAMPS for SQL query for it to be sortable by date from PHP?如何为 SQL 查询创建 TIMESTAMPS 以便从 PHP 中按日期排序?
【发布时间】:2011-01-26 00:42:32
【问题描述】:

如何为 SQL 查询创建 TIMESTAMPS 以便从 PHP 中按日期排序?

所以我有这样的 SQL 脚本创建的表

CREATE TABLE  `Keys` (
 `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `KEY` INT NOT NULL ,
 `TIMESTAMP` DATE NOT NULL ,
UNIQUE (
`KEY`
)
)

我应该写什么sript:

  • 添加时间戳
  • 通过该时间戳进行排序\搜索

【问题讨论】:

    标签: php sql date time


    【解决方案1】:

    MySQL 中的TIMESTAMP 会以YYYY-MM-DD HH:MM:SS 格式的字符串形式返回给PHP。

    这意味着您可以在它们上使用strtotime 来获得UNIX Timestamp,这是PHP 用于日期/时间的“标准类型”。

    您只需要考虑时间戳是自 1970-01-01 以来的秒数


    注意timestamps 有一个限制(引用):

    TIMESTAMP 数据类型的范围为 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。

    而且这个限制在 PHP 端通常是相同的。


    然后,为了操作这些时间戳,在 SQL 端,您可以使用范围广泛的Date and Time Functions。

    它们可以像任何其他数据类型一样进行排序——您也可以使用标准的=、>、<、...运算符。

    【讨论】:

      【解决方案2】:

      您也可以考虑将日期存储为 int... 然后使用 php 中的 date() 函数来显示它们。

      【讨论】:

        猜你喜欢
        • 2014-06-04
        • 2017-08-05
        • 1970-01-01
        • 2021-08-13
        • 2015-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多