提问者:小点点

斋月宴会


我试着计算斋月的盛宴。我使用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"));
}

公众假期斋月宴会第一个值计算,第二个值正确

  • 2010-09-09(2010-09-09)
  • 2011-08-30(2011-08-30)
  • 2012-08-18(2012-08-19)错误1
  • 2013-08-07(2013-08-08)错误1
  • 2014-07-28(2014-07-28)
  • 2015-07-17(2015-07-17)
  • 2016-07-06(2016-07-05)错误-1
  • 2017-06-25(2017-07-25)

正确日期的来源https://www.timeanddate.com/holidays/turkey/ramadan-feast


共1个答案

匿名用户

看起来像是C#HijriCalendar承认斋月的日期可以关闭,并提供了一个HijriCalendar。属性来解释每年的差异。

HijriCalendar类的这个实现通过将一个值从零添加或减去两天来调整日历日期,以适应斋月开始和结束时的差异,并适应国家/地区之间的日期差异

有关它的更多信息,请查看此页面。

https://msdn.microsoft.com/en-us/library/system.globalization.hijricalendar.hijriadjustment(v=vs.110)

相关问题