如何使用mysql计算两个日期之间的时间差

如何使用mysql计算两个日期之间的时间差,第1张

MySql计算两个日期时间的差函数

第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:

[sql] view plain copy

SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13')

返回结果是104,这里比较的是两个时间的天数差;

[sql] view plain copy

SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13')

这里比较的是两个时间的月份,返回的结果是3;

第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:

[sql] view plain copy

SELECT DATEDIFF('2013-01-13','2012-10-01')

返回的结果也是104。

另外其它的日期函数,

now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46

CURDATE()函数返回的是年月日信息: 如:2008-12-29

CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46

另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如

DATE(now()) 返回的是 2008-12-29

用时间戳来计算

SELECT (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP('2015-04-20 15:12:12'))/60

也就是得到两个时间相差的秒数,然后除60得到分种。

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。

其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

FRAC_SECOND 表示间隔是毫秒

SECOND  秒

MINUTE  分钟

HOUR  小时

DAY  天

WEEK  星期

MONTH  月

QUARTER  季度

YEAR  年

mysql> SELECT TIMESTAMPDIFF(SECOND, '2012-12-21', CURRENT_TIMESTAMP()) AS `Second`

+----------+

| Second   |

+----------+

| 53880812 |

+----------+

1 row in set (0.00 sec)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7359441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存