请帮忙看看这个计算24节气的程序吧。。。

weixin_38054592 2017-10-04 09:18:18
代码:

public static string ChineseTwentyFourDay(DateTime date1)
{
string[] SolarTerm = new string[] { "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至" };
int[] sTermInfo = new int[] { 0, 21208, 42467, 63836, 85337, 107014, 128867, 150921, 173149, 195551, 218072, 240693, 263343, 285989, 308563, 331033, 353350, 375494, 397447, 419210, 440795, 462224, 483532, 504758 };
DateTime baseDateAndTime = new DateTime(1900, 1, 6, 2, 5, 0); //#1/6/1900 2:05:00 AM#
DateTime newDate;
double num;
int y;
string tempStr = "";
y = date1.Year;
for (int i = 1; i <= 24; i++)
{
num = 525948.76
* (y - 1900) + sTermInfo[i - 1];
newDate = baseDateAndTime.AddMinutes(num);//按分钟计算
if (newDate.DayOfYear < date1.DayOfYear)
{
//tempStr = SolarTerm[i - 1];
tempStr = string.Format("{0}[{1}]", SolarTerm[i - 1], newDate.ToString("yyyy-MM-dd"));
Console.WriteLine(tempStr);
//break;
}
}
return tempStr;
}


我这里用Console输出所有节气(参数“date1”之前的所有节气),我对比了一下,发现有一个是错误的,就是“大暑”,baidu上查到是7-22,但是这个程序计算是7-23
感觉这个程序不太靠谱,请大家帮忙看看那里错了?



da jia hao!
...全文
12 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧