Assuming time part is not to be considered and that you need this for only 3 date spans (if you need for more one could Recursive CTE for this) :
-- The two dates for first condition
select DATEADD(m,DATEDIFF (m,'19000101',GETDATE()),'19000101')
select GETDATE()
-- The two dates for second condition
select DATEADD(m,-1,DATEADD(m,DATEDIFF (m,'19000101',GETDATE()),'19000101'))
select DATEADD(m,-1,GETDATE())
-- The two dates for third condition
select DATEADD(m,-2,DATEADD(m,DATEDIFF (m,'19000101',GETDATE()),'19000101'))
select DATEADD(m,-2,GETDATE())
The only variable in these 6 dates is getdate() (which of course can be replaced with any other date u want)...