欢迎投稿

今日深度:

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));

简要记录如上,关于 to_days UNIX_TIMESTAMP SEC_TO_TIME 等相关函数的用法后续再慢慢补充。

您可能感兴趣的文章

  • php计算两个日期相差多少天(日)的函数
  • php计算两个日期相隔多少年,多少月,多少日的函数
  • php实现多少秒前,多少分钟前,多少小时前
  • php获取指定日期所在星期的开始时间与结束时间的时间戳
  • 统计结果中显示平均停留时间0秒是什么意思?
  • php中date时间相差8个小时的解决办法
  • PHP 生成连续的数字(字母)数组函数range()分析,PHP抽奖程序函数
  • php获取时间间隔的方法总结,php显示论坛发帖时间间隔方法大全

www.htsjk.Com true http://www.htsjk.com/Mysql/10314.html NewsArticle MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现...
相关文章
    暂无相关文章
评论暂时关闭