例如,如何计算这两个日期时间之间的间隔:
2009-09-18 00:00:00
2009-10-17 00:00:00
修改
我的意思是以年 - 月 - 日小时格式获取间隔:min:seconds
答案 0 :(得分:10)
如何使用datediff
:
mysql> select abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00'));
+-------------------------------------------------------------+
| abs(datediff('2009-09-18 00:00:00', '2009-10-17 00:00:00')) |
+-------------------------------------------------------------+
| 29 |
+-------------------------------------------------------------+
1 row in set (0.00 sec)
引用手册:
DATEDIFF()
返回expr1 – expr2
表示为从一天开始的值 约会到另一个。 expr1和expr2 是日期或日期和时间表达。
只有值的日期部分 用于计算。
答案 1 :(得分:5)
答案 2 :(得分:3)
或者像这样使用timestampdiff():
TIMESTAMPDIFF(微秒,yourtime,现在())
第一个参数是mysql datetime unit,可以是" microsecond,second,minute,hour,day,year",这个函数表示第三个参数datetime减去第二个参数datetime。
mysql> select timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00");
+---------------------------------------------------------------------+
| timestampdiff(second, "2009-09-18 00:00:00", "2009-10-17 00:00:00") |
+---------------------------------------------------------------------+
| 2505600 |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
答案 3 :(得分:1)
您只需减去日期时间,它就会返回值:
选择(现在() - 间隔2天) - (现在() - 间隔5天);
结果不是日期时间(在这种情况下,它是一些十进制编码日期 - 三天3000000),但是将日期时间和间隔视为相同的数据类型是不正确的。