118bool QJalaliCalendar::dateToJulianDay(
int year,
int month,
int day, qint64 *jd)
const
121 if (!isDateValid(year, month, day))
124 const int y = year - (year < 0 ? 474 : 475);
125 const int c = qDiv<cycleYears>(y);
126 const int yearInCycle = y - c * cycleYears;
128 for (
int i = 1; i < month; ++i)
129 dayInYear += daysInMonth(i, year);
130 *jd = firstDayOfYear(yearInCycle, c) + dayInYear - 1;
134QCalendar::YearMonthDay QJalaliCalendar::julianDayToDate(qint64 jd)
const
136 const int c = cycle(jd);
137 int yearInCycle = qFloor((jd - cycleStart(c)) / yearLength);
138 int year = yearInCycle + 475 + c * cycleYears;
139 int day = jd - firstDayOfYear(yearInCycle, c) + 1;
140 if (day > daysInYear(year <= 0 ? year - 1 : year)) {
147 for (month = 1; month < 12; ++month) {
148 const int last = daysInMonth(month, year);
153 return QCalendar::YearMonthDay(year, month, day);