May 22 2008
Konversi Tanggal Ke Hijriah Di PHP
Mungkin ada yang membutuhkan solusi untuk merubah Tanggal (Date) ke format kalender Hijriah berikut salah satu cara yang sudah saya gunakan dan Alhamdulillah berhasil. Adapun kegunannya adalah untuk merubah tanggal di Blog / Website agar menggunakan format Hijriah seperti :
- Tanggal Hari Ini
- Tanggal Posting
- Dan Lain Sebagainya
Ini hasil yang akan muncul ketika di eksekusi menggunakan web browser.

Ketik script dibawah ini di notepad ataupun editor PHP yang lain. Simpan dengan nama date.php di webserver directory (Apache, IIS dll). Semoga bermanfaat …
<title>Konversi Tanggal</title>
<?
$day=date(“l”);
//$date=date(“Y-m-d H:i:s”);
$date=”1984-09-02 20:02:29″;
$year=substr($date,0,4);
$month=substr($date,5,2);
$tgl=substr($date,8,2);
$hour=substr($date,11,2);
$minute=substr($date,14,2);
$second=substr($date,17,2);;echo “<hr>”;
echo “<b>Default Date/Time</b><br>”;
echo “Hari Default : “.$day.”<br>”;
echo “Tanggal Default : “.$date.”<br>”;
echo “Dimana : <br>”;
echo $year.” => Tahun<br>”;
echo $month.” => Bulan<br>”;
echo $tgl.” => Tanggal<br>”;
echo $hour.” => Jam<br>”;
echo $minute.” => Menit<br>”;
echo $second.” => Detik<br>”;echo “<hr>”;
echo “<b>Konversi Indonesia</b><br>”;
konvhari($day);
konvnasional($date);echo “<hr>”;
echo “<b>Konversi Hijriah</b><br>”;
konvhari($day);
$datehijriah=konvhijriah($date);
echo “Tanggal Hijriah : “.$datehijriah;
echo ” “.substr($date,11,2).”:”.substr($date,14,2).”:”.substr($date,17,2);function konvhari($hari)
{
//Konversi Hari
switch($hari)
{
case “Monday”:
$harinya=”Senin”;
break;
case “Tuesday”;
$harinya=”Selasa”;
break;
case “Wednesday”:
$harinya=”Rabu”;
break;
case “Thursday”:
$harinya=”Kamis”;
break;
case “Friday”:
$harinya=”Jum’at”;
break;
case “Saturday”:
$harinya=”Sabtu”;
break;
default:
$harinya=”Minggu”;
break;
}
echo “Hari Sekarang : “.$harinya.”<br>”;
}function konvnasional($tanggal)
{$array_bulan=array(“Januari”,”Februari”,”Maret”,
“April”,”Mei”,”Juni”,
“Juli”,”Agustus”,”September”,
“Oktober”,”Nopember”,”Desember”);$tanggalnya=substr($tanggal,8,2);
$bulannya=$array_bulan[ceil(substr($tanggal,5,2))-1];
$tahunnya=substr($tanggal,0,4);
$jamnya=substr($tanggal,11,2);
$menitnya=substr($tanggal,14,2);
$detiknya=substr($tanggal,17,2);
$tglsekarang=$tanggalnya.” “.$bulannya.” “.$tahunnya.” “.$jamnya.”:”.$menitnya.”:”.$detiknya;echo “Tanggal Sekarang : “.$tglsekarang;
}
function makeInt($angka)
{
if ($angka < -0.0000001)
{
return ceil($angka-0.0000001);
}
else
{
return floor($angka+0.0000001);
}
}function konvhijriah($tanggal)
{switch($hari)
{
case “Monday”:
$harinya=”Senin”;
break;
case “Tuesday”;
$harinya=”Selasa”;
break;
case “Wednesday”:
$harinya=”Rabu”;
break;
case “Thursday”:
$harinya=”Kamis”;
break;
case “Friday”:
$harinya=”Jum’at”;
break;
case “Saturday”:
$harinya=”Sabtu”;
break;
default:
$harinya=”Minggu”;
break;
}
$array_bulan = array(“Muharram”, “Safar”, “Rabiul Awwal”, “Rabiul Akhir”,
“Jumadil Awwal”,”Jumadil Akhir”, “Rajab”, “Sya’ban”,
“Ramadhan”,”Syawwal”, “Zulqaidah”, “Zulhijjah”);$date = makeInt(substr($tanggal,8,2));
$month = makeInt(substr($tanggal,5,2));
$year = makeInt(substr($tanggal,0,4));if (($year>1582)||(($year == “1582″) && ($month > 10))||(($year == “1582″) && ($month==”10″)&&($date >14)))
{
$jd = makeInt((1461*($year+4800+makeInt(($month-14)/12)))/4)+
makeInt((367*($month-2-12*(makeInt(($month-14)/12))))/12)-
makeInt( (3*(makeInt(($year+4900+makeInt(($month-14)/12))/100))) /4)+
$date-32075;
}
else
{
$jd = 367*$year-makeInt((7*($year+5001+makeInt(($month-9)/7)))/4)+
makeInt((275*$month)/9)+$date+1729777;
}$wd = $jd%7;
$l = $jd-1948440+10632;
$n=makeInt(($l-1)/10631);
$l=$l-10631*$n+354;
$z=(makeInt((10985-$l)/5316))*(makeInt((50*$l)/17719))+(makeInt($l/5670))*(makeInt((43*$l)/15238));
$l=$l-(makeInt((30-$z)/15))*(makeInt((17719*$z)/50))-(makeInt($z/16))*(makeInt((15238*$z)/43))+29;
$m=makeInt((24*$l)/709);
$d=$l-makeInt((709*$m)/24);
$y=30*$n+$z-30;$g = $m-1;
$final = “$d $array_bulan[$g] $y H”;return $final;
}
?>
Sumber :
Fungsi mendapatkan tanggal hijriyah
Author : M. Salman Farisi
Email : salman@almanhaj.or.id
Dan dan dioprek dikit By Ane
25 Comments so far
Silahkan Isi Komentar


Wah [mata berbinar-binar]… Dapet ilmu baru, coba ah… Thankz Oms.
Ini bahasa apaan om ?#$%#%@#! ..hehe
Ah bung Ikien ini … Jangan suka merendah ntar jatoh.
Siiip bos…
mantab nih..kita kan islam, masa masih pake tanggal masehi aja.
tanggalnya mundur sehari coba cocokkan dengan kalender islam atau pada http://www.eramuslim.com
kenapa tgl 26 Agustus 2008 mjd 26 Sya’ban 1429 H? jadi Bulan Sya’bannya menjadi 28 hari sedangkan 1 Ramadhan 1429 H jatuh pada tanggal 1 September 2008 M. biasanya satu bulan itu 29 atau 30 hari.
nah lo… bener jadi mundur sehari tuh…
mas…,,,,aq tlg krimin script tgl yg ad di blog sampeyan dunk…,,,,plizz…,,,,thanks ya mas…,,,,krim di emailq zacky_ZV@yahoo.co.id ag cpt y mas…,,,,^_^
wassalamu’alaikum wr wb
thanks be 4^_^
assalamualaikum,
Mas tanggal lahir saya 28 maret 1982 saya mau konversi ke tahun hijriyah alias ingin tahu tanggal kelahiran saya di tahun hijriyah, kira2 mas bisa ga ngasih tau?? tolong ya di bales ke email saya.
mo minta tolong. saya lahir 6 maret 1984, tolong konversikan ke tahun hijriah ya! trima kasih sebelumnya. tolong balas di email saya.
6 Maret 1984 = 3 Jumadil Akhir 1404 ( http://www.wolframalpha.com/input/?i=6+maret+1984 )
28 Maret 1982 = 2 Jumadil Akhir 1402 ( http://www.wolframalpha.com/input/?i=28+maret+1982 )
tanggal 2 des 1987 bertepatan tgl brapa?
ana pengen tau tanggal 25 0ktober 1984 bulan hijriah nya apa sih
ana lahir tanggal 25 0ktober 1984 tolong konversikan ke tahun hijriahnya ya syukron
thakyu bos informasinya sungguh sangat membatu saya dalam pengenjaan website
Tanggal lahir ana tanggal 23 Agustus 1995….
tolong konversikan ke tahun hijriyah za…
blez x di alamat e-mail za…
teng q bgt bang script nya,,,
qte jd tau nih tgl lahir islam qte…
^^
wassalam,
sukses selalu,,
mas ajari aku buat javascript donk,gimana cara buat dan nampilin hari dalam jawa contohnya sak iki;rebo pon,25-11-2011
thanks maz..
sy lahir 22 desember 1984
tolong konversikan ke tahun hijriyah….
wassalam..
menurut bundaku,,sya lahir tgl 6 dzulhijjah 1402 h. tlong dong di konversi ke thn masehi.pleaseee.tlong krim ke almat emailku…
alhmdllh, terime kasih..
tanggal 03 oktoober 1997
tanggal 03 agustus 1964
tanggal 04 juni 1996
tanggal 29 april 1975
tanggal 22 september 2004
tolong kirim lewat email
mas, klo konversinya pke inputan gmna yah skripnya..
misalkan..kita input 09…jadinya di field bulan jadi September..
hihihii kok pada minta dikirim ke email ya,,,,
mestinya disini ada demonya langsung biar pembaca bisa convert sendiri