MenoData / Time4J

Advanced date, time and interval library for Java with sun/moon-astronomy and calendars like Chinese, Coptic, Ethiopian, French Republican, Hebrew, Hijri, Historic Christian, Indian National, Japanese, Julian, Korean, Minguo, Persian, Thai, Vietnamese
GNU Lesser General Public License v2.1
424 stars 62 forks source link

Add islamic calendar (including Umalqura) #91

Closed MenoData closed 8 years ago

MenoData commented 9 years ago

Basic idea is to realize the calendar as table-driven implementation with an extra ChronoExtension deploying various algorithms for a calculatory view.

MenoData commented 9 years ago

Some links:

http://www.ummulqura.org.sa/index.aspx (authoritative reference) http://www.staff.science.uu.nl/~gent0113/islam/ummalqura.htm (outdated data from early 90ies) http://stackoverflow.com/questions/13016365/java-library-for-hijri-umm-al-qura-calendar http://stackoverflow.com/questions/15728744/converting-gregorian-to-hijri-date https://github.com/msarhan/ummalqura-calendar (based on java.util.Calendar and old data) http://code.google.com/p/hijricalendar/source/browse/trunk/HijriCalendar/src/#src%2FastroLib

https://en.wikipedia.org/wiki/Islamic_calendar https://en.wikipedia.org/wiki/Tabular_Islamic_calendar

http://www.staff.science.uu.nl/~gent0113/islam/islam_tabcal.htm http://www.joda.org/joda-time/cal_islamic.html http://stackoverflow.com/questions/30758399/joda-api-not-return-proper-islamic-date http://stackoverflow.com/questions/28693959/conversion-from-gregorian-to-hijri-islamic-date-in-pakistan

http://www.staff.science.uu.nl/~gent0113/islam/diyanetcalendar.htm (turkish variant)

Two useful links how ICU-implementation works: http://source.icu-project.org/repos/icu/icu4j/tags/release-55-1-localespi-java8-20150610/main/classes/core/src/com/ibm/icu/util/IslamicCalendar.java http://source.icu-project.org/repos/icu/icu4j/tags/release-55-1-localespi-java8-20150610/main/classes/core/src/com/ibm/icu/impl/CalendarAstronomer.java

MenoData commented 8 years ago

With release 3.9/4.6, this issue is solved - see also #362.