Kuwaiti algorithm
Microsoft uses the Kuwaiti algorithm to convert between dates in the Western standard Gregorian calendar and dates in the Hijri or Islamic calendar. There is no fixed correspondence defined in advance between the Gregorian solar calendar and the Islamic lunar calendar, since the latter is defined by the visibility of the new moon by religious authorities and can therefore vary by a day or two, depending on the particular Islamic authority, weather conditions, and other variables. As an attempt to make conversions between the calendars somewhat predictable, this algorithm is based on statistical analysis of historical data from Kuwait. The algorithm is inexact due to the use of statistical analysis, and conversions using this algorithm can often be in error by a day or two.