.net - 日历计算错误的日期

标签 .net calendar globalization

根据 http://www.ummulqura.org.sa/Index.aspx 计算的 Umm-ulqura 日历日期是错误的.通常是提前一天。

输入是31\12\1997

根据 http://www.ummulqura.org.sa/Index.aspx .输出假设为 1\9\1418

我得到了 2\9\1418。

我错过了什么?你有变通办法吗?

        UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
        DateTime gregoDate = new DateTime(1997, 12, 31, new GregorianCalendar());
        return String.Format("{2}/{1}/{0}"
            , umAlQuraCalendar.GetDayOfMonth(gregoDate)
            , umAlQuraCalendar.GetMonth(gregoDate)
            , umAlQuraCalendar.GetYear(gregoDate));

最佳答案

确定 UmAlQura 日历的规则有 changed over the years .鉴于本网站的差异发​​生在 1420AH 之前的日期(1999 年 4 月 17 日),因此本网站似乎使用了较晚的规则,而不是 1420AH 之前生效的规则。

与发布的日期表相比,您可以看到该网站有一个偏差:

比较日历 1356 AH 至 1411 AH(1937 年 3 月 14 日至 1991 年 7 月 11 日)(宰赫兰:法赫德国王石油和矿产研究所,c. 1991)[ pdf ].

关于.net - 日历计算错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20346870/

相关文章:

.net - 在 WebRequest 中强制进行基本身份验证

javascript - 全日历 v2 : How to maintain the same scroll time when navigating weeks?

calendar - RFC 5545 与 RFC 2445 有何不同

c# - 用逗号代替小数将数字格式化为字符串

c# - 异常消息是否应该全局化

c# - 从 DataTable 访问已删除的行

c# - 使用 LINQ 对对象进行分页

.net - 如何打开麦克风属性窗口

java - 用 Java 打印 3x4 日历

windows - 本地化指数符号?