2015-07-01 11 views
7

Chciałbym przekonwertować tę datę: 09/13/1436 (to jest Hijiri) do 2015-06-30 (jest to gregoriański). Próbowałem to:Jak mogę przekonwertować datę Hidżiego na gregoriański w PHP?

function HijriToJD($m, $d, $y){ 
    return (int)((11 * $y + 3)/30) + 354 * $y + 
    30 * $m - (int)(($m - 1)/2) + $d + 1948440 - 385; 
} 


$date = HijriToJD(09, 13, 1436); 

echo jdtogregorian($date); 

i kiedy zrobiłem kompilacji mam 10/7/2014. Ktoś ma jakiś pomysł?

+0

może spojrzeć na http://php.net/manual/de/ref.calendar .php Komentarz # 4 – donald123

+0

czy możesz powiedzieć, jaka jest data i miesiąc w '09/13/1436'? –

+0

09 -> miesiąc, 13-> dzień, 1436-> rok. – Khurian

Odpowiedz

6

Przechodząc 09 jako miesiąc jest problem .... wiele z leading zero jest traktowany jako ósemkowym w PHP. 09 jest niepoprawny ósemkowy, więc jest traktowany jako 0.

Wywołanie

$r=HijriToJD(9, 13, 1436); 

(bez początkowego zera w miesiącu) powinno dać prawidłowy wynik

+0

Tak !! Dzięki, że jesteś moim Bohaterem. – Khurian

+1

Nie mogłem pozwolić, aby miesiąc był zły w tak ważnym czasie w roku? :) –

Powiązane problemy