To know current day, last day & their week name and total days in current month in SQL Server use below SQL Server statement.

Image 1.
DECLARE @MONTH INT=3; -- Here you can set current month or get from getDate()
DECLARE @YEAR INT=2016; -- Here you can set current year or get from getDate()
DECLARE @FIRSTDATE DATE;
DECLARE @LASTDATE DATE;
DECLARE @TOTALDAYS INT
SET @LASTDATE=(SELECT DATEADD(DAY,-1,DATEADD(MONTH,@MONTH,DATEADD(YEAR,@YEAR-1900,0))))
SET @FIRSTDATE=(SELECT DATEADD(MONTH,@MONTH-1,DATEADD(YEAR,@YEAR-1900,0)))
SET @TOTALDAYS=(DATEDIFF(D,@FIRSTDATE,@LASTDATE))+1
SELECT @FIRSTDATE AS [FIRST DATE OF MONTH],
DATENAME(DW,@FIRSTDATE) AS [FIRST DATE OF MONTH WEEK NAME] ,
@LASTDATE AS [LAST DATE OF MONTH],
DATENAME(DW,@LASTDATE) AS[LAST DATE OF MONTH WEEK NAME],
@TOTALDAYS AS [TOTAL DAYS IN MONTH]