Я пытаюсь преобразовать дату хиджры в грегорианскую.
Я конвертирую ее в юлианский день и передаю результат php jdtogregorian методу
$hijriYear = 1442;
$hijriMonth = 1;
$hijriDay = 10;
$jd = (int)((11 * $hijriYear + 3) / 30) + 354 * $hijriYear +
30 * $hijriMonth - (int)(($hijriMonth - 1) / 2) + $hijriDay + 1948440 - 385;
$gregorian = jdtogregorian($jd);
Результат должен быть 8-30-2020 но я получаю 8-29-2020
В зависимости от года хиджры я всегда получаю неправильную дату в некоторые дни. Есть ли у кого-нибудь опыт преобразования даты хиджры в грегорианскую?
Обновление
Проблема с результатом с плавающей запятой формулы jd, не следует игнорировать точечную часть. Я попытался округлить результат методом округления php, но для некоторых дат все равно получаю неверный результат