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

原文地址:https://www.cnblogs.com/jpfss/p/11155908.html

时间: 2024-10-04 10:52:44

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

计算两个时间之间相差了多少时间

Date的话如下 int minutes = (int) ((date2.getTime() - date.getTime())/(1000 * 60)); 其他单位改改算法就行了 如果是时间戳的话,直接减就行了-- 原文地址:https://www.cnblogs.com/IceBlueBrother/p/8423141.html

PHP 计算两个时间戳之间相差的时间

//功能:计算两个时间戳之间相差的日时分秒 //$begin_time 开始时间戳 //$end_time 结束时间戳 function timediff($begin_time,$end_time) { if($begin_time < $end_time){ $starttime = $begin_time; $endtime = $end_time; }else{ $starttime = $end_time; $endtime = $begin_time; } //计算天数 $timed

计算两个时间戳之间相差的时间

代码如下 //功能:计算两个时间戳之间相差的日时分秒 //$begin_time 开始时间戳 //$end_time 结束时间戳 function timediff($begin_time,$end_time) { if($begin_time < $end_time){ $starttime = $begin_time; $endtime = $end_time; }else{ $starttime = $end_time; $endtime = $begin_time; } //计算天数 $

js实现的计算两个时间之间的时间差

js实现的计算两个时间之间的时间差:在实际应用中,需要计算两个时间点之间的差距,一般来说都是计算当前时间和一个指定时间点之间的差距,并且有时候需要精确到天.小时.分钟和秒,下面就简单介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.

计算两个时间之间的天数

1第一种 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test { public static void main(String[] args) { try { //时间转换类 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM

iOS 计算两个时间之间的差

NSDateFormatter *date=[[NSDateFormatter alloc] init]; [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSCalendar *cal=[NSCalendar currentCalendar]; unsigned int unitFlags=NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit|NSHourCalendarUnit

sql计算两个时间之间的差,并用时分秒表示

这是自己写的方法,总觉得会有更好的办法实现这个效果呢? SELECT case when CONVERT(nvarchar,DATEDIFF(SECOND,FinishAt,getdate() ))>86400 then CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )/86400)+'天'+CONVERT(nvarchar, DATEDIFF(SECOND,FinishAt,getdate() )%86400/3600)+'时'+CO

mysql 取两个时间的差

两日期/时间之间相差的天数:      SELECT  To_Days(end_time) - To_Days(start_time); 两日期/时间之间相差的时分秒数:      SELECT  SEC_TO_TIME(UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time)); 两日期/时间之间相差的秒数:      SELECT  UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time);

C语言,使用结构体读入两个在同一年的日期,判断日期是否合法,并计算两个日期之间相差的天数。结构体定义如下:

如下: typedef struct date { int year; int month; int day; }; 提示: 1. 使用如下函数完成相应功能 int isleapyear(int y); //计算是否为闰年 int islegal(Date x); //计算日期是否合法 int calcday(Date x);//计算日期是当年的第几天,用于计算两个日期之间天数的差值 2. 用于一维数组表示一年每月含有的天数 int dayofmonth[12] = {31,28,31,30,3