如何将Hijri(Islamic)日期转换为公历日期

时间:2014-09-18 13:02:53

标签: java android hijri

我想将Hijri日期转换为格里高利日期! 我已经搜索过,但不幸的是我发现了一个用于将Gregorian转换为Hijri的java类。我需要相反的。

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

2 个答案:

答案 0 :(得分:3)

您可以使用Joda-Time

如果你创建了一个伊斯兰的cronology并调用了withUTC(),那么它应该返回一个UTC的cronology,可以将其转换为所需的。

然而,根据this帖子,joda-Time实现只是一个近似值。

答案 1 :(得分:1)

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

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

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

由此您可以从穆斯林月份图表中确定您所寻找的那一天:

  1. Muharram = 30天;
  2. Safar = 29天;
  3. 拉比亚1 = 30天;
  4. Rabia 2 = 29天;
  5. Jumada 1 = 30天;
  6. Jumada 2 = 29天;
  7. Rajab = 3天;
  8. Shaban = 29天;
  9. 斋月= 30天;
  10. Shawwal = 29天;
  11. Zu' lKadah = 30天;
  12. Zu' lhijjah = 29天(如果闰年则为30天)。
  13. 年限为30年。

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

    一个周期= 10,631天。

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