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