我试着计算斋月的盛宴。我使用HijriCalendar来解决这个问题。我查过维基百科,斋月的宴会是在伊斯兰斋月的最后。
有些日期是好的,但另一些日期在错误的日期(推迟1天)
var hijriCalendar = new HijriCalendar();
for (var i = 1431; i <= 1438; i++)
{
var dateTime = new DateTime(i, 10, 1, hijriCalendar);
Console.WriteLine(dateTime.ToString("yyyy-MM-dd"));
}
公众假期斋月宴会第一个值计算,第二个值正确
正确日期的来源https://www.timeanddate.com/holidays/turkey/ramadan-feast
看起来像是C#HijriCalendar承认斋月的日期可以关闭,并提供了一个HijriCalendar。属性来解释每年的差异。
HijriCalendar类的这个实现通过将一个值从零添加或减去两天来调整日历日期,以适应斋月开始和结束时的差异,并适应国家/地区之间的日期差异
有关它的更多信息,请查看此页面。
https://msdn.microsoft.com/en-us/library/system.globalization.hijricalendar.hijriadjustment(v=vs.110)