代码片段:
一般情况来讲使用date_format关键字后,对时间进行INTERVAL - 1 DAY操作时,获取到的日期应该为前一天,结果当查询出来后日期反而增加一天,变为后一天的日期
原因:
date_format(DATE_SUB(NOW(), INTERVAL -1 DAY), '%Y-%m-%d')
这样写是因为 DATE_SUB
函数的第二个参数应该是一个负数,以便从NOW()中减去负的天数,从而得到加一天的效果。
这样的操作实际上是获得 NOW()
的前一天日期
解决方案:
INTERVAL -1 DAY
表示减去一个负的天数,即加上一天。DATE_SUB(NOW(), INTERVAL 1 DAY)
返回NOW()
减去一天后的日期和时间。(负负得正喔)- 最后,
date_format(..., '%Y-%m-%d')
将结果格式化为年-月-日的形式。