70bool QIslamicCivilCalendar::dateToJulianDay(
int year,
int month,
int day, qint64 *jd)
const
73 if (!isDateValid(year, month, day))
76 *jd = qDiv<30>(qint64(ThirtyYears) * (year > 0 ? year - 1 : year) + 14)
77 + qDiv<11>(ElevenMonths * (month - 1) + 5)
82QCalendar::YearMonthDay QIslamicCivilCalendar::julianDayToDate(qint64 jd)
const
84 const auto year30Day = qDivMod<ThirtyYears>(30 * (jd - EpochJd) + 15);
86 const auto month11Day = qDivMod<ElevenMonths>(11 * qDiv<30>(year30Day.remainder) + 5);
88 const int month = month11Day.quotient + 1;
89 const int day = qDiv<11>(month11Day.remainder) + 1;
90 const int y = year30Day.quotient + 1;
91 return QCalendar::YearMonthDay(y > 0 ? y : y - 1, month, day);