我需要在一份报告中计算生日计数。我知道如何编码才能知道a年,但无法编写用于查找上一个leap年的代码。
请提出一些简短代码,以获取最后的leap年。
答案 0 :(得分:0)
CORDIC64_atan[24]={ 0.785398163397448, 0.463647609000806, 0.244978663126864, 0.124354994546761, 0.0624188099959574, 0.0312398334302683, 0.0156237286204768, 0.00781234106010111, 0.00390623013196697, 0.00195312251647882, 0.00097656218955932, 0.000488281211194898, 0.000244140620149362, 0.00012207031189367, 6.10351561742088E-05, 3.05175781155261E-05, 1.52587890613158E-05, 7.62939453110197E-06, 3.8146972656065E-06, 1.90734863281019E-06, 9.53674316405961E-07, 4.76837158203089E-07, 2.38418579101558E-07, 1.19209289550781E-07 };
答案 1 :(得分:0)
在SQL Server中,使用CTE获取最近四年,并从四年结果中应用applying年计算得出最后一个applying年。
有效查询是:
;WITH Last4Years AS (
SELECT YEAR(GETDATE()) AS [YR]
UNION ALL
SELECT [YR] - 1
FROM Last4Years
WHERE [YR] - 1 >= YEAR(DATEADD(YEAR, -3, GETDATE()))
)
SELECT [YR] AS LeapYear FROM (
SELECT [YR],
CASE WHEN ([YR] % 4 = 0) AND ([YR] % 100 != 0) OR ([YR] % 400 = 0) THEN 1 ELSE 0 END AS Leap
FROM Last4Years
) L
WHERE Leap = 1;
答案 2 :(得分:0)
老实说,“确定年份是否为a年”的正确算法是“使用提供您的日期/日期时间库的平台记录错误,因为这是应该向用户公开的基本功能”。 / p>
显然,他们必须在内部的datetime / datetime2 / datetimeoffset实现中实施“是is年”检查,但是由于某种原因,它拒绝在API中公开它。