根据日期获取当月有几天

来源:互联网 发布:算法导论 知乎 编辑:程序博客网 时间:2024/05/22 19:27

--根据日期获取当月有几天

DECLARE @Date  VARCHAR(10)  --某日期

DECLARE @NewDate VARCHAR(10)  --下月的第一天

DECLARE @Month  INT    --当月月数

DECLARE @Day  INT    --天数

DECLARE @Year  INT    --当年年数

SET @Date = CONVERT(CHAR,GETDATE(),120)  --设置日期为当天(测试用)

SET @Day = DATEPART(DAY,@Date)    --获取当天是本月的第几天

SET @Year = DATEPART(YEAR,@Date)   --获取当年年数

SET @Month = DATEPART(MONTH,@Date)   --获取当月月数

--获取下月月数

SET @Month = @Month + 1

--获取下月的第一天的日期

SET @NewDate = CAST(@Year AS VARCHAR) + '-' + CAST(@Month AS VARCHAR) + '-1'

--当月天数 = 本日期所处当月天数 + 下月第一天日期与本日期之间的差值 - 1

SET @Day = @Day + DATEDIFF(DAY,@Date,@NewDate) - 1

SELECT @Day

原创粉丝点击