2

我想将回历日期转换为公历日期!我已经搜索过了,但不幸的是,我找到了一个用于将 Gregorian 转换为 Hijri 的 java 类。我需要相反的。

HijriCalendar.java:https://gist.github.com/fatfingers/6492017 _

4

2 回答 2

3

您可以为此使用Joda-Time

如果您创建一个伊斯兰年表并调用 withUTC() 它应该返回一个 UTC 年表,可以将其转换为所需的任何内容。

然而,根据这篇文章,joda-Time 的实现只是一个近似值。

于 2014-09-18T13:06:13.203 回答
1

将穆斯林 (M) 日期转换为 CE 的公式是:

CE = ((M x 970224)/1000000)+ 621.5774 = CE.nnn

然后0.nnn x 365= CE 年 M 年开始的日期。

从中您可以从穆斯林月份图表中确定您要查找的日期:

  1. 回历 = 30 天;
  2. 萨法尔 = 29 天;
  3. 拉比亚 1 = 30 天;
  4. 拉比亚 2 = 29 天;
  5. Jumada 1 = 30 天;
  6. Jumada 2 = 29 天;
  7. 拉贾布 = 3 天;
  8. 沙班 = 29 天;
  9. 斋月 = 30 天;
  10. 肖瓦尔 = 29 天;
  11. 祖尔卡达 = 30 天;
  12. Zu'lhijjah = 29 天(闰年为 30 天)。

年以 30 年为周期。

每个周期从 6 月 15 日开始。2、5、7、10、13、16、18、21、24、26、29为闰年。

一个周期 = 10, 631 天。

希望这可以帮助。我也有将 CE 日期转换为穆斯林日期的公式。

于 2014-10-08T14:30:45.353 回答