我如何计算给定一年的耶稣受难日?

有没有人有一个好的算法来计算给定年份作为输入的耶稣受难日的日期?最好使用C#。

回答:

这是一篇很棒的文章,应该可以帮助您构建算法

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);

}

以上是 我如何计算给定一年的耶稣受难日? 的全部内容, 来源链接: utcz.com/qa/401770.html

回到顶部