【问题标题】:How to compare milliseconds in MySQL with a given date如何将 MySQL 中的毫秒数与给定日期进行比较
【发布时间】:2012-03-17 23:59:13
【问题描述】:

使用

mysql  Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0

我有一个这样定义的表:

+-----------------------+--------------+------+-----+---------+-------+
| Field                 | Type         | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| id                    | bigint(20)   | NO   | PRI |         |       | 
| user_id               | bigint(20)   | NO   | MUL |         |       | 
| directory_id          | bigint(20)   | NO   | MUL |         |       | 
| attribute_name        | varchar(255) | NO   |     |         |       | 
| attribute_value       | varchar(255) | YES  |     | NULL    |       | 
| attribute_lower_value | varchar(255) | YES  |     | NULL    |       | 
+-----------------------+--------------+------+-----+---------+-------+

选择我上次验证时间的属性值返回

+-------------------+-----------------+
| attribute_name    | attribute_value |
+-------------------+-----------------+
| lastAuthenticated | 1330380013284   | 
+-------------------+-----------------+

如果我使用 http://www.epochconverter.com/ 验证值,它会说

Assuming that this timestamp is in milliseconds:
GMT: Mon, 27 Feb 2012 22:00:13 GMT

但是如果我尝试以下代码行

mysql> select from_unixtime('1330380013284');
+--------------------------------+
| from_unixtime('1330380013284') |
+--------------------------------+
| NULL                           | 
+--------------------------------+

任何立即知道我在这里缺少什么的人?

【问题讨论】:

  • +1 表示非常清楚。但答案很容易:)

标签: mysql timestamp unix-timestamp


【解决方案1】:

你需要除以 1000 并去掉引号,否则你的日期就差了

SELECT FROM_UNIXTIME(theField/1000);

SELECT FROM_UNIXTIME(1330380013284/1000);

查看文档 - 注意 MySQL 方法返回 SECONDS,而不是像您使用的毫秒:

MySQL docs for UNIX_TIMESTAMP

If called with no argument, returns a Unix timestamp 
(SECONDS since '1970-01-01 00:00:00' UTC) as an unsigned integer

【讨论】:

  • 啊,天呐!我没有 RTFM 的另一个例子 :-)
【解决方案2】:

去掉',你要传递一个数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2021-03-17
    相关资源
    最近更新 更多