【问题标题】:mysql timestamp difference in timestampmysql时间戳的时间戳差异
【发布时间】:2012-06-03 13:42:39
【问题描述】:

我想以时间戳格式获取时间戳之间的差异,仅使用 MySQL 而不是使用编程语言。也不是秒、小时、日期、月或年。 举个例子。

timestamp1->2012-05-21 15:31:11
timestamp2->2012-05-21 15:32:11

我想得到时间戳格式的结果。

所以结果应该是

result->0000-00-00 00:01:00

【问题讨论】:

    标签: mysql timestamp


    【解决方案1】:

    使用MySQL的TIMEDIFF()函数:

    TIMEDIFF() 返回 expr1expr2 表示为时间值。 expr1expr2 是时间或日期和时间表达式,但两者都必须是同一类型。

    TIMEDIFF() 返回的结果限制在TIME 值允许的范围内。或者,您可以使用 TIMESTAMPDIFF()UNIX_TIMESTAMP() 中的任何一个函数,它们都返回整数。

    mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
        -> '2000:01:01 00:00:00.000001');
            -> '-00:00:00.000001'
    mysql> SELECT TIMEDIFF('2008-12-31 23:59:59.000001',
        -> '2008-12-30 01:01:01.000002');
            -> '46:58:57.999999'

    【讨论】:

    • 非常感谢您的回答。但是在您的方法中,结果不是时间戳格式。我想要答案作为时间戳
    • @KasunMalith:怎么可能做到这一点?例如,如何返回 792 小时(33 天)?是0000-01-03 还是0000-01-02?或者其他的东西(例如,2 月包含 28 或 29 天,具体取决于年份)。如何返回负差?
    猜你喜欢
    • 2012-11-28
    • 2015-06-27
    • 1970-01-01
    • 2020-08-28
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2017-01-22
    相关资源
    最近更新 更多