SELECT
CONVERT (VARCHAR(10), GETDATE(), 101) as CurrentDate
, CONVERT (VARCHAR(10),
CASE
WHEN DATEPART(Month,GETDATE()) IN (1,3,5,7,8,10,12) THEN DATEADD(DAY,31 - DATEPART(DAY, GETDATE()),GETDATE())
WHEN DATEPART(Month,GETDATE()) IN (4,6,9,11) THEN DATEADD(DAY,30 - DATEPART(DAY, GETDATE()),GETDATE())
WHEN DATEPART(Month,GETDATE()) = 2 AND DATEPART(YEAR,GETDATE()) IN (2012, 2016, 2020, 2024, 2028, 2032, 2036) THEN DATEADD(DAY,29 - DATEPART(DAY, GETDATE()),GETDATE())