Skip to content

alternatecalendar: add support for Islamic Calendar (Astronomical and Umm al-Qura)

Fushan Wen requested to merge work/fuf/islamic into master

There are different kinds of Islamic calendars, and Qt only supports "Islamic Civil Calendar". This adds support for another two Islamic calendars.


The Islamic religious calendar and Saudi Arabia's Umm al-Qura calendar, however, are based on the observation of the crescent moon. It is thus affected by the position at which the observations are made, seasonal variations in the time of sunset, the eccentricities of the moon's orbit, and even the weather at the observation site. This makes it impossible to calculate in advance, and it causes the start of a month in the religious calendar to differ from the civil calendar by up to three days.

Using astronomical calculations for the position of the sun and moon, the moon's illumination, and other factors, it is possible to determine the start of a lunar month with a fairly high degree of certainty. However, these calculations are extremely complicated and thus slow, so most algorithms, including the one used here, are only approximations of the true astronomical calculations. At present, the approximations used in this class are fairly simplistic; they will be improved in later versions of the code.

Like the Islamic religious calendar, Umm al-Qura is also based on the sighting method of the crescent moon but is standardized by Saudi Arabia.

See also:


  • Support Umm Al-Qura
  • Improve Islamic Civil/Persian calendar
Language is Arabic Language is not Arabic
图片 图片

Three kinds of Islamic calendars are supported: 图片

Edited by Fushan Wen

Merge request reports