📅  最后修改于: 2023-12-03 14:44:28.013000             🧑  作者: Mango
在MySQL中,可以使用函数 DATEDIFF() 和 NOW() 来计算两个日期之间的天数差以及当前日期。
DATEDIFF(date1, date2)
函数用于计算两个日期之间的天数差。
SELECT DATEDIFF('2022-05-01', '2022-04-01');
-- 输出结果为:30
上述代码表示,从 2022 年 4 月 1 日到 2022 年 5 月 1 日之间相差了 30 天。
NOW()
函数用于返回当前日期和时间。
SELECT NOW();
-- 输出结果为当前日期和时间,例如:2022-08-18 08:30:45
要计算两个日期之间的当前日期,我们需要先计算出这两个日期的天数差,然后再用当前日期减去这个天数差即可。
SELECT DATE_SUB(NOW(), INTERVAL DATEDIFF('2022-05-01', NOW()) DAY);
-- 输出结果为:2022-04-19
上述代码表示,从当前日期(例如:2022 年 8 月 18 日)到 2022 年 5 月 1 日之间相差了多少天(即:DATEDIFF('2022-05-01', NOW())
),然后用当前日期减去这个天数差即可得到这两个日期之间的当前日期(即:DATE_SUB(NOW(), INTERVAL DATEDIFF('2022-05-01', NOW()) DAY)
)。