查询当前时间:
select NOW(); //2023-11-14 11:36:03
select CURDATE(); //2023-11-14
SELECT CURTIME(); //11:36:03
日期加日期:
select date_add(NOW(), interval 1 year); //加1年
select date_add(NOW(), interval 1 month); //加1月
select date_add(NOW(), interval 1 quarter); //加1季度
select date_add(NOW(), interval 1 day); //加1天
select date_add(NOW(), interval 1 hour); //加1小时
select date_add(NOW(), interval 1 minute); // 加1分钟
select date_add(NOW(), interval 1 second); //加1秒
select date_add(NOW(), interval 1 microsecond); //加1毫秒
select date_add(NOW(), interval 1 week); //加1周
日期减日期
可以使用上边的加日期,数字设成负的,比如这样
select date_add(NOW(), interval -30 day); //往前推算30天
也可以使用date_sub()函数
select date_sub(NOW(), interval 1 year); //减1年
select date_sub(NOW(), interval 1 month); //减1月
select date_sub(NOW(), interval 1 quarter); //减1季度
select date_sub(NOW(), interval 1 day); //减1天
select date_sub(NOW(), interval 1 hour); //减1小时
计算两个日期的差值,要求两个参数的格式要一样
返回的是天数:
select datediff('2023-10-18', '2023-10-28'); //-10
select datediff('2023-10-18', '2023-10-11'); //7
返回的是日期:
select timediff('2023-10-18 12:00:00', '2023-10-18 06:00:00'); //06:00:00
select timediff('2023-10-11 12:00:00', '2023-10-11 08:00:00'); //04:00:00
这个要注意,如果不是同一天的日期,返回的就是(天数 * 24) 再加 日期后的时间