SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ',
MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ',
MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes')
在我的示例中,将end_time和start_time用于固定的datetime值
根据以下两条评论,此解决方案仅适用于35天内的日期差异。如果您知道开始到结束之间有35天以上的时间,即一个月内有差异,请不要使用它。在这里使用TIMESTAMPDIFF的其他答案将起作用。