判斷是否為閏年的方法很多,如: 《指定日期,判斷其所屬年份是否為閏年》 https://www.cnblogs.com/insus/p/10841868.html《C#或VB.NET判斷指定的年份是否為閏年》https://www.cnblogs.com/insus/archive/2012/06/ ...
判斷是否為閏年的方法很多,如:
《指定日期,判斷其所屬年份是否為閏年》 https://www.cnblogs.com/insus/p/10841868.html
《C#或VB.NET判斷指定的年份是否為閏年》https://www.cnblogs.com/insus/archive/2012/06/05/2537446.html
其實,我們還有一個方法,就是知道了2月份的天數,或是最後一天是28號還是29號,從而也知道這一年是平年還是閏年。
因為平年28,閏年29.
《T-SQL獲取二月份天數》https://www.cnblogs.com/insus/archive/2011/04/22/2025019.html
《如何獲取月份的天數》https://www.cnblogs.com/insus/archive/2011/09/10/2173028.html
《獲取某一日期所在月份的第一天日期或最後一天日期》https://www.cnblogs.com/insus/p/10841647.html
《某一日期所在月份的天數》https://www.cnblogs.com/insus/p/10841741.html
《獲取某一日期所在月份的第一天日期或最後一天日期》 https://www.cnblogs.com/insus/p/10841647.html
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Insus.NET -- Create date: 2019-05-14 -- Update date: 2019-05-14 -- Description: 判斷是否為閏年 -- ============================================= CREATE FUNCTION [dbo].[svf_IsLeapYear] ( @Year INT ) RETURNS BIT AS BEGIN DECLARE @rtv BIT = 0, @February_1st DATETIME = CAST((CAST(@Year AS NVARCHAR(4)) + N'-02-01') AS DATETIME) --IF DAY([dbo].[svf_LastDayOfTheMonth](@February_1st)) = 29 IF DAY(DATEADD(DAY,-1,DATEADD(MONTH,DATEDIFF(MONTH,0,@February_1st) + 1,0))) = 29 SET @rtv = 1 RETURN @rtv END GOSource Code