mysql计算时间差 小时差 天数差 分钟差
DATEDIFF函数
计算天数差
DATEDIFF(date1,date2)
DATEDIFF函数返回date1 - date2的计算结果
SELECT DATEDIFF('2023-01-01', '2022-12-31') AS day_diff;
返回结果为1
计算小时差
SELECT DATEDIFF('2023-01-01 12:00:00', '2023-01-01 10:00:00') / 3600 AS hour_diff;
返回结果为2
TIMESTAMPDIFF函数
计算天数差
TIMESTAMPDIFF(DAY,start,end)
DATEDIFF函数返回end - start的计算结果
SELECT TIMESTAMPDIFF(DAY,'2022-04-28', '2022-04-30') AS day_diff;
返回结果为2
计算小时差
SELECT TIMESTAMPDIFF(HOUR, '2023-01-01 10:00:00', '2023-01-01 12:00:00') AS hour_diff;
返回结果为2
UNIX_TIMESTAMP函数
unix_timestamp(date),返回1970-1-1 8:00:00开始到date所代表的时间为止的秒数,对于早于1970-1-1 8:00:00的时间,总是返回 0 。
计算小时差
SELECT (UNIX_TIMESTAMP('2023-01-01 12:00:00') - UNIX_TIMESTAMP('2023-01-01 10:00:00')) / 3600 AS hour_diff;
返回结果为2
计算分钟差
SELECT (UNIX_TIMESTAMP('2023-01-01 12:00:00') - UNIX_TIMESTAMP('2023-01-01 10:00:00')) / 60 AS minutes_diff;
返回结果为120