当前位置: 首页 > 知识库问答 >
问题:

斋月宴会

昌砚
2023-03-14

我试着计算斋月的盛宴。我使用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个答案

万俟嘉珍
2023-03-14

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

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

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

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

 类似资料:
  • 我正在尝试解决HackerRank上的巧克力盛宴挑战: 小鲍勃喜欢巧克力,他去一家口袋里有N美元的商店。每块巧克力的价格是C美元。商店提供折扣:他每给商店一个M包装纸,就可以免费得到一块巧克力。鲍勃可以吃多少块巧克力? 输入格式:第一行包含测试用例的数量,T. T 行紧随其后,每个行包含三个整数 N、C 和 M。 输出格式:打印Bob吃的巧克力总数。 限制条件: 示例输入: 样本输出: 解释在第一

  • 1.介绍实习所做的工作 2.挑一个功能点进行介绍 3.hashmap和treemap的区别 4.三个线程顺序执行,最简单的方式是什么 5.20个线程每个线程对同一个变量进行i++操作,最后i的数量为多少 6.介绍一下volatile 7.讲一下java中的反射 8.慢查询优化 9.唯一索引比普通索引快吗 10.redis中的淘汰算法有哪些 11.介绍一下rocketMQ 12.比较大的排序使用稳定

  • 面试官自我介绍 自我介绍 对测开的看法和理解 预期的测试和开发的比例 登录页面设计测试用例 unittest和pytest优缺点 Python列表推导式 元组的特点 切片的三个参数的含义 装饰器,闭包 什么场景用到装饰器 Python协程(异步) 用过flask,Django吗 Python垃圾回收机制 Python生成器 深拷贝浅拷贝 Linux常用命令有哪些 修改文件相关的命令有哪些 查看大型

  • 哲学家晚餐问题的指挥解决方案建议使用四码的信号,所有哲学家都试图在右叉之前得到左叉。http://en.wikipedia.org/wiki/Dining_philosophers_problem#Conductor_solution 信号量应该用于访问左fork和访问右fork的每个人吗? 如果一个哲学家能在规定的时间内得到左叉子,但没有得到右叉子,他该怎么办?他们应该把左叉子还给我吗? 哲学家

  • 本文向大家介绍php获取当前月与上个月月初及月末时间戳的方法,包括了php获取当前月与上个月月初及月末时间戳的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php获取当前月与上个月月初及月末时间戳的方法。分享给大家供大家参考,具体如下: 当前月 上一月 这里对关键的就是date函数中的t,它是用来获取当前月所含天数的,28天,29天,30天,31天。含有多少天,月底就是多少号。 PS

  • 问题内容: 我正在尝试选择当前日期前三个月的每月的第一天。 因此,例如,如果当前日期是:“ 2015-11-08”,我的结果将是:“ 2015-08-01” 我希望这是yyyy-mm-dd格式。 我从一开始就尝试过,但是没有运气: 我已经尝试了很多事情,但似乎无法破解,任何建议或帮助都将不胜感激。先感谢您 问题答案: 逻辑很简单: 减去当月的日期减去日期后的1天 减去三个月 在SQL Server