mysql 计算两个日期的时间差函数小时分钟格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 计算两个日期的时间差函数小时分钟格式相关的知识,希望对你有一定的参考价值。

TIMESTAMPDIFF(minute,datetime_expr1,datetime_expr2)
这个返回间隔的分钟数80,我想要这样的格式 1h20m,
如何让mysql查询结果直接返回我想要的小时分钟格式?
thanks.

N列可以用这个公式=((HOUR(M2)-HOUR(L2))*60+(MINUTE(M2)-MINUTE(L2)))例如 我下面的表格 我的列是M 和L列时间差  精算分钟  如果你复制过去 那就修改对应公式里的对应的列

参考技术A 如果datetime_expr1,datetime_expr2是datetime类型的话
select time_format(timediff('2000:01:31 23:59:59', '2000:01:01 00:00:00'),'%Hh%im')
也许可以满足你的要求本回答被提问者采纳
参考技术B 这个MYSQL我不熟悉,但是用编程的思想来说,这个问题这个这个样子思考,一个小时60分钟,既然TIMESTAMPDIFF返回的是分钟数,OK,用结果对60取模得到小时部分,然后加上用结果对60整除分钟部分,然后将2个结果转成字符串,拼接成你要的格式就OK了!我想MYSQL一定有取模的函数和整除函数吧。 参考技术C mySQL: time_to_sec(timediff('2010-08-20 12:01:00', '2010-08-20 12:00:00'))返回相差秒数
SQLServer:
一:SELECT DATEDIFF( Day, '2008.08.25', '2008.09.01' )
二:SELECT DATEDIFF( Second, 2009-8-25 12:15:12', 2009-9-1 7:18:20') --返回相差秒数
或者
SELECT DATEDIFF( Minute, 2009-8-25 12:15:12', 2009-9-1 7:18:20') --返回相差分钟数
或者
SELECT DATEDIFF( Hour, 2009-8-25 12:15:12', 2009-9-1 7:18:20') --返回相差小时数
三:SELECT DATEDIFF( Day, 2009-8-25 12:15:12', 2009-9-1 7:18:20')

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现。
函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为:
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 。该参数具体释义如下:
FRAC_SECOND   表示间隔是毫秒
SECOND   秒
MINUTE   分钟
HOUR   小时
DAY   天
WEEK   星期
MONTH   月
QUARTER   季度
YEAR   年
例如:
#计算两日期之间相差多少周
select timestampdiff(week,‘2011-09-30‘,‘2015-05-04‘);
#计算两日期之间相差多少天
select timestampdiff(day,‘2011-09-30‘,‘2015-05-04‘);
另外计算两日期或时间之间相差多少天还可以使用 to_days 函数,但是该函数不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。因此对于1582 年之前的日期(或许在其它地区为下一年 ), 该函数的结果实不可靠的。具体用法如:
to_days(end_time) - to_days(start_time);
  
#计算两日期/时间之间相差的秒数:
select timestampdiff(SECOND,‘2011-09-30‘,‘2015-05-04‘);
另外还可以使用 MySql 内置函数 UNIX_TIMESTAMP 实现,如下:
SELECT UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time); 
  
#计算两日期/时间之间相差的时分数: 
select timestampdiff(MINUTE,‘2011-09-30‘,‘2015-05-04‘);
另外还可以如下实现:
SELECT SEC_TO_TIME(UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time));

以上是关于mysql 计算两个日期的时间差函数小时分钟格式的主要内容,如果未能解决你的问题,请参考以下文章

mysql 计算两个日期的时间差函数小时分钟格式

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySQL日期时间的天,小时和分钟数

mysql 时间格式化