当前位置:Gxlcms > 数据库问题 > MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

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

时间:2021-07-01 10:21:17 帮助过:8人阅读


计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过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计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

标签:日历   style   分享   mil   单位   msu   参数   size   col   

人气教程排行