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