Das Problem ist a) die Uhrzeit muss weg und b) du möchtest ja ab Montag...
Welche Datenbank ist das ? MySQL oder MSSQL?
im Falle von MSSQL so:
Folgendes benutze ich um von einem krummen Datum/Uhrzeit auf einen Wochen/Stunden/15Minuten Interval zu kommen:
[code]DECLARE @ReportStart AS DATE = CAST(CAST(CAST(CAST(DATEADD(WEEK, -2, GETDATE()) AS FLOAT)/7 AS INT)*7 AS FLOAT) AS DATETIME)
DECLARE @ReportEnd AS DATE = DATEADD(WEEK, 7, @ReportStart)
SELECT @ReportStart, @ReportEnd[/code]
Wenn man anstelle von /7 z.B. *96 nimmt kann man auch 15 Minuten intervall damit bauen ohne viel Zeiten zu vergleichen.
Aus eigener Erfahrung benutze ich für das End-Datum < Folgetag. Also z.B. < 01.02. und nicht <= 31.01. 23:59:59 - hat mehrere Vorteile:
die länge des Monats ist egal,
falls es auch Nachkommastellen bei den Sekunden gibt müsste man ja auch 23:59:59,999 noch einschließen und irgendwann wirs absurd.
Bei Mysql könnte man etwas ähnliches herleiten