//获取当年春分日期 注意取整,向下舍入
public static DateTime GETChunfeng(DateTime dt)
{
//[92×0.2422+20.646]-[92/4]=42-23=19
double year = double.Parse(dt.Year.ToString().Substring(2, 2));
int val1 = Convert.ToInt32(Math.Floor(year * 0.2422d + 20.646));
int ss = val1 - Convert.ToInt32(Math.Floor((year) / 4));
return new DateTime(dt.Year, 3, ss);
}
//判断是否为清明节
public static bool isqingming(DateTime dt)
{
//清明节
//GETChunfeng(dt).AddDays(15)
if (GETChunfeng(dt).AddDays(15) == dt)
{
return true;
}
else
{
return false;
}
}
清明节
节日时间
斗指乙,太阳黄经15°,公历4月5日前后
春分天文现象
相关资料:来源百度百科
年公历3月20日左右,太阳位于黄经0°(春分点)时,为春分。这一天,太阳几乎直射地球赤道,全球各地几乎昼夜等长(不考虑大气对太阳光的折射与晨昏蒙影)。春分过后,太阳直射点继续由赤道向北半球推移,北半球各地开始昼长夜短,即一天中白昼长于黑夜;南半球各地开始昼短夜长,即一天中白昼短于黑夜。故春分也称升分。
而在南北两极,春分这一天,太阳整日都在地平线上。此后,随着太阳直射点的继续北移,北极附近开始为期6个月的极昼,范围逐渐扩大;南极附近开始为期6个月的极夜,范围逐渐扩大。 [3]
值得注意的是:北半球各地从冬至开始白昼越来越长,但是从春分开始白昼才比黑夜长;从夏至那天开始白昼越来越短,但是从秋分开始白昼才比黑夜短。
原因是:冬至日,太阳直射南回归线,北半球各地白昼最短,随后太阳直射点开始北移,北半球各地白昼越来越长。春分过后,太阳直射点移到北半球,北半球开始白昼长于黑夜。到了夏至日,太阳直射北回归线,北半球各地白昼最长,随后太阳直射点开始南移,北半球各地白昼越来越短。秋分过后,太阳直射点移到南半球,北半球开始白昼短于黑夜。
日期计算
[Y*D+C]-L
公式解读:年数的后2位乘0.2422加20.646取整数减闰年数,21世纪春分的C值=20.646。
举例说明:2092年春分日期=[92×0.2422+20.646]-[92/4]=42-23=19,3月19日是春分。
例外:2084年的计算结果加1日。 [3]