这篇文章将为大家详细讲解有关MySQL中时间差函数、日期转换计算函数怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1. 时间差函数(TIMESTAMPDIFF、DATEDIFF)

需要用MySQL计算时间差,使用TIMESTAMPDIFF、DATEDIFF,记录一下实验结果

--0selectdatediff(now(),now());--2selectdatediff('2015-04-2223:59:00','2015-04-2000:00:00');--2selectdatediff('2015-04-2200:00:00','2015-04-2023:59:00');--1selectTIMESTAMPDIFF(DAY,'2015-04-2023:59:00','2015-04-2200:00:00');--2selectTIMESTAMPDIFF(DAY,'2015-04-2000:00:00','2015-04-2200:00:00');--2selectTIMESTAMPDIFF(DAY,'2015-04-2000:00:00','2015-04-2212:00:00');--2selectTIMESTAMPDIFF(DAY,'2015-04-2000:00:00','2015-04-2223:59:00');--71selectTIMESTAMPDIFF(HOUR,'2015-04-2000:00:00','2015-04-2223:00:00');--4260selectTIMESTAMPDIFF(MINUTE,'2015-04-2000:00:00','2015-04-2223:00:00');

关于TIMESTAMPDIFF描述,见http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timestampdiff

如需知道TIMESTAMPDIFF还能以哪些单位返回数据,可参考TIMESTAMPADD的描述:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timestampadd

2. 日期转换计算函数(date_add、day、date_format、str_to_date)

--用日期与字符串转换,计算当月第一天、下月第一天selectcurdate()as'当前日期',DATE_FORMAT(curdate(),'%Y-%m')as'当前月份',str_to_date(concat(DATE_FORMAT(curdate(),'%Y-%m'),'-01'),'%Y-%m-%d')as'当前月的第一天',date_add(str_to_date(concat(DATE_FORMAT(curdate(),'%Y-%m'),'-01'),'%Y-%m-%d'),interval1month)as'下月的第一天';--当前月的最后一天selectlast_day(curdate());--下月第一天selectdate_add(last_day(curdate()),interval1day);--当天为当月的第几天selectday(curdate());--当月第一天selectdate_add(curdate(),interval1-(day(curdate()))day);

关于“MySQL中时间差函数、日期转换计算函数怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。