Php: Получение неправильной даты из php jdtogregorian метода - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь преобразовать дату хиджры в грегорианскую.

Я конвертирую ее в юлианский день и передаю результат 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, но для некоторых дат все равно получаю неверный результат

...