Wednesday , 27 August 2014
Running Text

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

About Fahrudin

Seorang suami dan ayah dari 2 anak. Pecandu dunia Teknologi Informasi, bisa betah berjam-jam kalau sudah didepan Laptop+Internet. Dan perindu Syurga-Nya :)

25 comments

  1. Wah [mata berbinar-binar]… Dapet ilmu baru, coba ah… Thankz Oms.

  2. :D sharing knowledge aja om

  3. Ini bahasa apaan om ?#$%#%@#! ..hehe :D

  4. Ah bung Ikien ini … Jangan suka merendah ntar jatoh.

  5. Siiip bos…
    mantab nih..kita kan islam, masa masih pake tanggal masehi aja. :D

  6. tanggalnya mundur sehari coba cocokkan dengan kalender islam atau pada http://www.eramuslim.com

  7. 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.

  8. nah lo… bener jadi mundur sehari tuh…

  9. 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^_^

  10. dede darmanto

    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.

  11. mo minta tolong. saya lahir 6 maret 1984, tolong konversikan ke tahun hijriah ya! trima kasih sebelumnya. tolong balas di email saya.

  12. tanggal 2 des 1987 bertepatan tgl brapa?

  13. ana pengen tau tanggal 25 0ktober 1984 bulan hijriah nya apa sih

  14. ana lahir tanggal 25 0ktober 1984 tolong konversikan ke tahun hijriahnya ya syukron

  15. thakyu bos informasinya sungguh sangat membatu saya dalam pengenjaan website

  16. Tanggal lahir ana tanggal 23 Agustus 1995….

    tolong konversikan ke tahun hijriyah za…

    blez x di alamat e-mail za…

  17. teng q bgt bang script nya,,,
    qte jd tau nih tgl lahir islam qte…

    ^^
    wassalam,
    sukses selalu,,

  18. mas ajari aku buat javascript donk,gimana cara buat dan nampilin hari dalam jawa contohnya sak iki;rebo pon,25-11-2011
    thanks maz..

  19. sy lahir 22 desember 1984
    tolong konversikan ke tahun hijriyah….

    wassalam..

  20. menurut bundaku,,sya lahir tgl 6 dzulhijjah 1402 h. tlong dong di konversi ke thn masehi.pleaseee.tlong krim ke almat emailku…

  21. alhmdllh, terime kasih..

  22. tanggal 03 oktoober 1997
    tanggal 03 agustus 1964
    tanggal 04 juni 1996
    tanggal 29 april 1975
    tanggal 22 september 2004

    tolong kirim lewat email

  23. mas, klo konversinya pke inputan gmna yah skripnya..
    misalkan..kita input 09…jadinya di field bulan jadi September..

  24. hihihii kok pada minta dikirim ke email ya,,,,
    mestinya disini ada demonya langsung biar pembaca bisa convert sendiri

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

BIGTheme.net • Free Website Templates - Downlaod Full Themes