如何解决我如何计算给定一年的耶稣受难日?
这是一篇很棒的文章,应该可以帮助您构建算法
http://www.codeproject.com/KB/datetime/christianholidays.aspx
根据此示例,您应该能够编写:
DateTime goodFriday = EasterSunday(DateTime.Now.Year).AddDays(-2);
public static DateTime EasterSunday(int year)
{
int day = 0;
int month = 0;
int g = year % 19;
int c = year / 100;
int h = (c - (int)(c / 4) - (int)((8 * c + 13) / 25) + 19 * g + 15) % 30;
int i = h - (int)(h / 28) * (1 - (int)(h / 28) * (int)(29 / (h + 1)) * (int)((21 - g) / 11));
day = i - ((year + (int)(year / 4) + i + 2 - c + (int)(c / 4)) % 7) + 28;
month = 3;
if (day > 31)
{
month++;
day -= 31;
}
return new DateTime(year, month, day);
}
解决方法
有没有人有一个好的算法来计算给定年份作为输入的耶稣受难日的日期?最好使用C#。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。