Mengubah format tanggal mysql menjadi indonesia dalam php

Anda mungkin sudah mengetahui kalau format tanggal yang disimpan dalam database mysql adalah tahun-bulan-tanggal. Pada saat kita menampilkan data tanpa ada perintah perubahan seperti pada tulisan saya sebelumnya tentang mengubah tampilan format tanggal mysql, maka tentunya output ke layar akan tetap sama. Berikut ini saya akan berbagi tentang bagaimana mengubah tampilan tanggal yang semula tertulis dengan format angka tahun-bulan-tanggal menjadi tanggal-nama bulan-tahun dalam bahasa indonesia.

Sekarang kita lihat contoh sederhana untuk menampilkan data dari sebuah tabel mysql dengan php

<?php
mysql_connect('localhost','root','');
mysql_select_db('db_mahasiswa');
$myquery="select tanggal_lahir from tb_mahasiswa";
$daftarsiswa=mysql_query($myquery) or die (mysql_error());
while($dataku=mysql_fetch_object($daftarsiswa))
{
   echo $dataku->tanggal_lahir; //menuliskan tanggal_lahir
}
?>

Pada saat data ditampilkan, maka yang muncul adalah field tanggal_lahir dengan format 2000-01-20. Sekarang bagaimana jika formatnya diubah menjadi : 20 Januari 2000?

Anda hanya perlu menambahkan beberapa perintah seperti berikut ini :

<?php
mysql_connect('localhost','root','');
mysql_select_db('db_mahasiswa');
//tambahkan daftar nama bulan
$namabulan = array("","Januari","Pebruari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember");
$myquery="select tanggal_lahir from tb_mahasiswa";
$daftarsiswa=mysql_query($myquery) or die (mysql_error());
while($dataku=mysql_fetch_object($daftarsiswa))
{
   list($thn,$bln,$tgl)=explode('-',$dataku->tanggal_lahir); //memindah tanggal kedalam array
   echo $tgl.' '.$namabulan[(int)$bln].' '.$thn; //menuliskan tanggal lahir dalam format indonesia
}
?>

Jika anda lihat, perintah program diatas, saya menambahkan sebuah array $namabulan yang isinya deretan nama bulan. Pada array pertama yang ada tanda petik 2x tidak diberi isi karena tidak ada bulan dengan index 0, sehingga langsung pada index ke 1 yaitu bulan januari.

Kemudian ada perintah list yang akan menampung hasil pemisahan tanggal lahir, dan yang terakhir adalah penulisan nama bulan $namabulan ada perintah (int) yang difungsikan mengubah nilai yang berawalan angka 0 seperti 01 menjadi integer sehingga sesuai dengan index array nama bulan.

Semoga bermanfaat, dan jangan takut untuk mencoba. Tolong koreksi jika ada yang kurang/salah.

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Perbedaan session dan cookies dalam php
    Dalam php kita mengenal session dan cookies yang digunakan untuk menyimpan informasi pengguna. Secara umum memang sulit dibedakan karena dari segi fungsinya bisa dikatakan sama. Artikel berikut akan membantu anda membedakanya dari berbagai sisi implementasinya.
  • Membagi form dalam beberapa halaman
    Ada beberapa contoh kasus yang mengharuskan kita membagi form dalam beberapa halaman, agar proses input lebih mudah dan dapat memunculkan pilihan sesuai dengan inputan awal. Berikut ini saya akan berbagi trick bagaimana membuat beberapa form yang terpisah halaman bisa saling terhubung dalam sebuah proses.
  • Membuat laporan detail bercabang dengan php
    Kali ini saya ingin bahas tentang bagaimana membuat laporan detail bercabang dengan php. Maksud bercabang disini adalah sebuah laporan memiliki sub detail, dan didalam sub masih ada lagi laporan lagi sesuai sub yang dipilih.
  • Membuat nomor urut harian dengan php
    Ada teman bertanya, bagaimana membuat nomor urut yang setiap hari kembali ke awal? Secara logic prosesnya cukup sederhana yaitu melakukan pengecekan pada tabel mysql yang sudah dibuat apakah ada data hari sesuai tanggal sistem. Jika ada maka ambil dan tambahkan nilainya, kemudian perbaharui datanya. Jika tidak ada maka buat record baru dengan?tanggal tersebut kemudian set nilai urutan 1.
  • Membagi halaman laporan dalam php
    Jumlah data dari mysql yang tampil dalam laporan yang dibuat dengan php tentunya akan sangat mempengaruhi kinerja aplikasi web yang kita buat. Semakin banyak data, pasti prosesnya akan semakin lama dan tentunya agak sedikit menyulitkan orang yang membacanya.

Kiriman terbaru