SELECT DATEADD(mm, DATEDIFF(mm,0,GETDATE()), 0),'El primer dia del mes'
UNION
SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,GETDATE() )+1, 0)),'El Ultimo dia del mes'
UNION
SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0),'El Lunes de la semana actual'
UNION
SELECT DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0),'Primer dia del año'
UNION
SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,GETDATE() ), 0)),'Ultimo dia del mes anterior'
UNION
SELECT DATEADD(ms,-3,DATEADD(yy, DATEDIFF(yy,0,GETDATE() ), 0)),'Ultimo dia del año anterior'
UNION
SELECT DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd,6-DATEPART(DAY,GETDATE()),GETDATE())), 0),'Primer lunes del mes'
UNION
SELECT DATEADD(mm, -1, DATEADD(mm, DATEDIFF(mm,0,GETDATE()), 0)),'Primer dia del mes anterior'
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SPContext.Current.Site.ID))
{
// implementation details omitted
}
});