我有一个问题:
SELECT * FROM msc_calendar WHERE calendar_userId = 1 AND end < UNIX_TIMESTAMP()
有没有办法从时间戳中减去一周,即查看end
是否超过一周前?
答案 0 :(得分:18)
@ EugenRieck的解决方案将打破边缘情况,例如有夏令时切换的周。最好使用内置函数DATE_SUB
:
SELECT * FROM msc_calendar WHERE calendar_userId = 1 AND 'end' < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK))
答案 1 :(得分:6)
SELECT * FROM msc_calendar WHERE calendar_userId = 1 AND 'end' < UNIX_TIMESTAMP()-7*24*60*60