select to_days(now()) - to_days('20120512')

2、利用DATEDIFF函数

select datediff(now(),'20120512')

参数1 - 参数2 等于间隔天数

3、利用TIMESTAMPDIFF函数

计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过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自带函数计算给定的两个日期的间隔天数有两个途径可获得1、利用TO_DAYS函数select to_days(now()) - to_days('20120512')2、利用DATEDIFF函数select datediff(now(),'20120512')参数1 - 参数2 等于间隔天数3、利用TIMESTAMPDIFF函数计算两日期时间之间相差的天... select now()-- 获取当前具体的 日期 和时间 2019-11-13 16:38:20 select curdate()-- 获取当前 日期 2019-11-13 select curtime()-- 获取当前时间 6:38:20 1.1、 MySQL 加减某个时间间隔 设置当前... MySql 计算 日期 时间 之间 相差的 天数 ,秒数,分钟数,周数,小时数 计算 日期 时间 之间 相差的 天数 ,秒数,分钟数,周数,小时数,这里主要分享的是通过 MySql 内置的函数 TimeStampDiff() 实现。 函数 TimeStampDiff() 是 MySQL 本身提供的可以 计算 两个 时间间隔的函数,语法为: TIMESTAMPDIFF(unit,datetime_expr1,dateti...
计算 两个 日期 的差,并且需要排除节假日。首先,我们需要准备一张节假日表,存放一年里所有的周末和法定节假日。 实现下面 两个 需求: 1、通过主表的 两个 日期 字段,去 计算 两个 字段的 日期 差值; 2、传入 两个 日期 ,去 计算 两个 日期 的差值;
语法:timestampdiff(interval, datetime1,datetime2) 结果:返回(datetime2-datetime1)的时间差,参数interval是返回结果的单位。datetime值最少具体到日。 参数interval的值有: 1.year 年 SELECT TIMESTAMPD... 你想通过生日来 计算 这个人有几岁了。 SELECT DATE_FORMAT(FROM_ DAYS (TO_ DAYS (now()) - TO_ DAYS (@dateofbirth)), '%Y') + 0; 2. 两个 时间的差 取得 两个 datetime 值的差 SELECT * FROM 表名 WHERE TO_ DAYS (NOW())-(TO_ DAYS (时间字段)) < 天数 例如查询今天的数据SELECT * FROM 表名 WHERE TO_ DAYS (NOW())-(TO_ DAYS (时间字段)) <1 3.例如查询今天的数据 也可以这样查询 SELECT *.. select * from 表名 where to_ days (时间字段名) = to_ days (now()); to_ days 函数:返回从0000年(公元1年)至当前 日期 的总 天数 。 SELECT * FROM 表名 WHERE TO_ DAYS ( NOW( ) ) – TO_ DAYS ( 时间字段名) <= 1 其中,end_date和start_date是 两个 日期 参数。DATEDIFF函数会 计算 end_date和start_date 之间 天数 ,并返回一个整数值。 以下是一个使用DATEDIFF函数 计算 两个 日期 之间 天数 的示例: SELECT DATEDIFF('2022-01-01', '2021-12-01'); 在这个示例中,DATEDIFF函数会 计算 2022年1月1日和2021年12月1日 之间 天数 ,并返回结果31。 如果要 计算 两个 日期 之间 的小时数、分钟数、秒数等,可以使用类似的函数,如TIMESTAMPDIFF函数。