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

 

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SummerGao.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值