asemoon barooni
شنبه 10 دی 1390, 11:05 صبح
سلام دوستان
من میخوام بدونم یک سال مشخص شمسی کبیسه هست یا نه؟؟ تو سرچ هام برای میلادی دیدم که از دو روش مختلف استفاده میشه :
مثلا این تابع :
Create FUNCTION F_BIT_LEAP_YEAR
(@p_year SMALLINT)
RETURNS BIT
AS
BEGIN
DECLARE @p_leap_date SMALLDATETIME
DECLARE @p_check_day TINYINT
SET @p_leap_date = CONVERT(VARCHAR(4), @p_year) + '0228'
SET @p_check_day = DATEPART(d, DATEADD(d, 1, @p_leap_date))
IF (@p_check_day = 29)
RETURN 1
RETURN 0
END
روش دوم هم که اکثرا به این صورته :
CREATE FUNCTION [dbo].[fn_CheckLeapYear] ( @InputDate DATETIME )
RETURNS BIT
AS
BEGIN
IF ( YEAR(@InputDate) % 4 = 0
AND YEAR(@InputDate) % 100 != 0
)
OR YEAR(@InputDate) % 400 = 0
RETURN 1
RETURN 0
END
من میخوام برای سال کبیسه شمسی یه همچین تابعی بنویسم تو همین سایتم جستجو کردم این تاپیک رو دیدم : http://barnamenevis.org/showthread.php?55239-تشخیص-سال-کبیسه-شمسی&highlight=%D8%B3%D8%A7%D9%84+%DA%A9%D8%A8%DB%8C%D8 %B3%D9%87
ولی نتونستم به نتیجه ای کلی برسم یعنی اگر باقیمانده تقسیم سال به 33 یکی از این عدد ها باشد : 1 و 5 و 9 و 13 و 17 و 22 و 26 و 30 برای تشخیص سال کبیسه شمسی کافیه .. اگه دوستان در این زمینه راهنمایی کنید ممنون میشم .
من میخوام بدونم یک سال مشخص شمسی کبیسه هست یا نه؟؟ تو سرچ هام برای میلادی دیدم که از دو روش مختلف استفاده میشه :
مثلا این تابع :
Create FUNCTION F_BIT_LEAP_YEAR
(@p_year SMALLINT)
RETURNS BIT
AS
BEGIN
DECLARE @p_leap_date SMALLDATETIME
DECLARE @p_check_day TINYINT
SET @p_leap_date = CONVERT(VARCHAR(4), @p_year) + '0228'
SET @p_check_day = DATEPART(d, DATEADD(d, 1, @p_leap_date))
IF (@p_check_day = 29)
RETURN 1
RETURN 0
END
روش دوم هم که اکثرا به این صورته :
CREATE FUNCTION [dbo].[fn_CheckLeapYear] ( @InputDate DATETIME )
RETURNS BIT
AS
BEGIN
IF ( YEAR(@InputDate) % 4 = 0
AND YEAR(@InputDate) % 100 != 0
)
OR YEAR(@InputDate) % 400 = 0
RETURN 1
RETURN 0
END
من میخوام برای سال کبیسه شمسی یه همچین تابعی بنویسم تو همین سایتم جستجو کردم این تاپیک رو دیدم : http://barnamenevis.org/showthread.php?55239-تشخیص-سال-کبیسه-شمسی&highlight=%D8%B3%D8%A7%D9%84+%DA%A9%D8%A8%DB%8C%D8 %B3%D9%87
ولی نتونستم به نتیجه ای کلی برسم یعنی اگر باقیمانده تقسیم سال به 33 یکی از این عدد ها باشد : 1 و 5 و 9 و 13 و 17 و 22 و 26 و 30 برای تشخیص سال کبیسه شمسی کافیه .. اگه دوستان در این زمینه راهنمایی کنید ممنون میشم .