如果周从星期一开始,我需要mySQL时间戳作为当前周或任何给定日期的开始。
我正在尝试类似这样的东西:
SELECT UNIX_TIMESTAMP(CONCAT( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(DATE_SUB(CURDATE(), INTERVAL 7 DAY)) DAY), ' 00:00:00')) as start发布于 2010-05-26 01:35:17
星期一是星期几,DAYOFWEEK($date)给出当天的索引(1-7,index=2 -DAYOFWEEK($date))。因此,您需要在$date的索引中添加或减去天数,才能将其更改为2。
例如:
SELECT UNIX_TIMESTAMP(
CASE WHEN DAYOFWEEK($date)>=2
THEN DATE_SUB($date, INTERVAL (DAYOFWEEK($date)-2) DAYS)
ELSE DATE_ADD($date INTERVAL 1 DAY)
END
);我想我已经掌握了正确的语法,但请检查CASE和date and time functions。
https://stackoverflow.com/questions/2906770
复制相似问题