Fungsi PHP mengubah format tanggal Mysql menjadi format tanggal Indonesia

Posted on Updated on

Pada dasarnya jika kita membuat sebuah field pada Mysql dengan format DATE maka format tanggal yang akan disimpan oleh Mysql adalah YYYY-MM-DD (tahun-bulan-tanggal) sebagai contoh hari ini adalah 24 Maret 2012 maka pada Mysql akan disimpan 2012-03-24 . Sehingga jika kita ingin menampilkan tanggal yang tersimpan pada database akan tampil dengan format seperti itu.

Sebenarnya tidak ada masalah dengan format tanggal Mysql tersebut , tapi tidak ada salahnya juga kita membuat tanggal yang ditampilkan menjadi mudah dibaca, khususnya orang Indonesia.

Dis ini saya membuat sebuah fungsi sehingga kita dapat menggunakannya berulang-ulang hanya dengan memanggil nama fungsinya.

berikut adalah fungsi php yang digunakan :

<?php
function  tanggal_format_indonesia($tgl){
$tanggal  =  substr($tgl,8,2);
$bulan	=  getBulan(substr($tgl,5,2));
$tahun	=  substr($tgl,0,4);
return  $tanggal.''.$bulan.''.$tahun;
}

function  getBulan($bln){
switch  ($bln){
case  1:
return  "Januari";
break;
case  2:
return  "Februari";
break;
case  3:
return  "Maret";
break;
case  4:
return  "Maret";
break;
case  5:
return  "Mei";
break;
case  6:
return  "Juni";
break;
case  7:
return  "Juli";
break;
case  8:
return  "Agustus";
break;
case  9:
return  "September";
break;
case  10:
return  "Oktober";
break;
case  11:
return  "November";
break;
case  12:
return  "Desember";
break;
}
}
?>

Sebelum kita menggunakan fungsi diatas tentunya kita harus memanggilnya terlebih dahulu, dalam hal ini ceritanya saya memiliki sebuah tabel buku tamu dan ingin menampilkannya sebanyak 5 record.

Maka Syntax yang saya buat adalah sebagai berikut :

<?php
$sql=  mysql_query("SELECT * FROM bukutamu ORDER BY id_guestbook  DESC LIMIT  5");
while($r  =  mysql_fetch_array($sql)){
$tanggal	=  tanggal_format_indonesia($r['tanggal']);
//memanggil  fungsi
echo “Ini adalah contoh penggunaan fungsi untuk mengubah format tanggal di databse menjadi format Indonesia”;
//ketikkan  yang ingin  ditampilkan
}
?>

Penjelasan Kode

Dis ini saya menggunakan fungsi substr(), Fungsi ini digunakan untuk mengambil atau memotong suatu bagian sebuah string dan menampilkannya sebagai sebuah string tersendiri.

$tanggal = tanggal_format_indonesia($r['tanggal']);

Kode diatas akan memanggil fungsi tanggal_format_indonesia dengan mengirimkan parameter tanggal format Mysql.

Selanjutnya pada fungsi tanggal_format _indonesia string tersebut akan dimanipulasi untuk menghasilkan format tanggal Indonesia.

$tanggal = substr($tgl,8,2);

Kode diatas akan mengambil sebanyak 2 karakter sesudah karakter kedelapan parameter yang dikirimkan tadi, contoh : 2011-04-04 , maka akan menghasilkan 04 .

$bulan = getBulan(substr($tgl,5,2));

Kode diatas akan memanggil fungsi getBulan, yaitu fungsi untuk mendapatkan tanggal sesuai dengan karakter string yang diambil. Contoh 2011-03-04 , diambil sebanyak 2 karakter sesudah karakter ke 5, sehingga menghasilkan 03 . angka 03 tersebut akan diubah menjadi nama bulan dengan fungsi getBulan

Jika menerapkan dengan benar, maka hasil yang akan kita dapatkan adalah sebagai berikut :

2011-03-04 =&gt; Sebelum menggunakan fungsi

04 Maret 2012 =&gt;Set elah menggunakan fungsi

Download file tutorialnya disini

One thought on “Fungsi PHP mengubah format tanggal Mysql menjadi format tanggal Indonesia

    Nurkholis said:
    16 March 2013 at 2:22 pm

    Info yang benar-benar membantu…..Thank’s berat ya….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s