編輯與部分答案:選擇(開始星期日)這一週創建的所有行
基本上,我想選擇纔有了今天的行,而不是過去的24小時,我想選擇七月份的行,而不是最後的31天(2013年7月1日 - > 7/31/13,非6/25/13 - > 7/25/13)。
這就是我用來選擇今天的行。我使用America/Los_Angeles作爲用戶指定時區的佔位符(將使用PHP填充)。下面使用的「時間戳」只是創建行時的標準MySQL時間戳。
SELECT * FROM table
WHERE convert_tz(timestamp, 'UTC', 'America/Los_Angeles')
>= DATE(convert_tz(NOW(), 'UTC', 'America/Los_Angeles'));
在這一週的記錄,我仍然會使用DATE(convert_tz(NOW(), 'UTC', 'America/Los_Angeles'))
得到用戶的時區當前的日期,但我不知道如何從獲得一週的第一天,例如,今天的日期返回7/25/13,但本週的第一天是7/21/13。
月,我可以把今天的日期,使用MONTH()函數只有一個月搶,然後通過執行
str_to_date(
concat(MONTH([today's date from above]),
' 01',
' 2013'),
'%m %d %Y'
)
創建一個新的Date對象,這會給我的第一天這個月。如果需要,今年的行也可以做同樣的事情。
無論如何,只留下本週創建的行。 WEEKDAY()可能很有用,但我不確定。
你有沒有試過只提取日期時間變量的日期部分? – Mason