C#、vb.net及SQL判断指定年份是否为闰年的方法
投稿:shichen2014
这篇文章主要介绍了C#、vb.net及SQL判断指定年份是否为闰年的方法,分别以三种方法实现了判断闰年的功能,在进行项目开发中具有一定的参考借鉴价值,需要的朋友可以参考下
本文实例讲述了本文章介绍了在c#,vb.net,sql中来判断指定日期是否为闰年的方法。分享给大家供大家参考。具体实现方法如下:
C#代码如下:
复制代码 代码如下:
public bool IsLeapYear(int year)
{
if ((year < 1) || (year > 9999))
{
throw new ArgumentOutOfRangeException("year", "年份必须是从1至9999之间数字.");
}
if ((year % 4) != 0)
{
return false;
}
if ((year % 100) == 0)
{
return ((year % 400) == 0);
}
return true;
}
{
if ((year < 1) || (year > 9999))
{
throw new ArgumentOutOfRangeException("year", "年份必须是从1至9999之间数字.");
}
if ((year % 4) != 0)
{
return false;
}
if ((year % 100) == 0)
{
return ((year % 400) == 0);
}
return true;
}
VB.NET:
复制代码 代码如下:
Public Function IsLeapYear(year As Integer) As Boolean
If (year < 1) OrElse (year > 9999) Then
Throw New ArgumentOutOfRangeException("year", "年份必须是从1至9999之间数字.")
End If
If (year Mod 4) <> 0 Then
Return False
End If
If (year Mod 100) = 0 Then
Return ((year Mod 400) = 0)
End If
Return True
End Function
If (year < 1) OrElse (year > 9999) Then
Throw New ArgumentOutOfRangeException("year", "年份必须是从1至9999之间数字.")
End If
If (year Mod 4) <> 0 Then
Return False
End If
If (year Mod 100) = 0 Then
Return ((year Mod 400) = 0)
End If
Return True
End Function
sql代码如下:
复制代码 代码如下:
udf_DaysInMonth_Ver2
CREATE FUNCTION [dbo].[udf_DaysInMonth]
(
@Date DATETIME
)
RETURNS INT
AS
BEGIN
RETURN CASE WHEN MONTH(@Date) IN (1,3,5,7,8,10,12) THEN 31
WHEN MONTH(@Date) IN (4,6,9,11) THEN 30
ELSE CASE WHEN (YEAR(@Date) % 4 = 0 AND YEAR(@Date) % 100 <> 0) OR (YEAR(@Date) % 400 = 0)
THEN 29
ELSE 28
END
END
END
这样我就就把三个实例都以代码形式直接写出来了。
希望本文所述对大家的C#、VB.NET及SQL程序设计有所帮助。