Dahulu sebelum belajar Database Management system, khusus untuk format tanggal saya menggunakan type data Varchar untuk menggantikan Type data Date / Datetime, Mengapa? alasannya klasik, biar telihat  format bahasa indonesia khusus untuk penanggalan. Setelah berguru pada senior - senior dan sedikit mendalami tentang database khususnya mysql format seperti itu salah mengapa? karena bukan standart dari type data penanggalan, kalian akan sedikit mendapat masalah saat akan melakukan perhitungan tanggal dari sisi database

Misalkan kalian ingin menambahkan 1 hari dari tanggal saat ini, bila format date kalian dapat melakukan dengan perintah

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);

bagaimana bila mengambil dari suatu field tapi dengan type data varchar?

SELECT DATE_ADD(STR_TO_DATE(`TANGGAL`,'%Y-%m-%d'), INTERVAL 1 DAY) AS TANGGAL

sedikit agak panjang tapi ini akan mengurangi proses convert pada system bayangkan bisa ada jutaan record yang harus diconvert! ini kan membebankan system (server)

Bagaimana solusinnya? kembalikan formatan tanggal menjadi date / datetime bila ingin mengkonvert ke format indonesia lakukan perintah seperti berikut

SELECT DATE_FORMAT('2012-11-20 03:04:12','%d-%m-%Y %H:%i:%s') AS TANGGAL

Hasil akan menjadi format indonesia Misal 20-11-2012 03-04:12

bagaimana bila ingin bulannya diubah menjadi Nama - nama bulan bukan angka?

kita buat satu fungsi untuk mengkonversinya

function date_convert ($date) {
    $date = date('Y-m-d', strtotime($date)); // ubah sesuai format penanggalan standart
    $bulan = array ('01'=>'Januari', // array bulan konversi
            '02'=>'Februari',
            '03'=>'Maret',
            '04'=>'April',
            '05'=>'Mei',
            '06'=>'Juni',
            '07'=>'Juli',
            '08'=>'Agustus',
            '09'=>'September',
            '10'=>'Oktober',
            '11'=>'November',
            '12'=>'Desember'
    );
    $date = explode ('-',$date); // ubah string menjadi array dengan paramere '-'

    return $date[2] . ' ' . $bulan[$date[1]] . ' ' . $date[0]; // hasil yang di kembalikan
}

fungsi diatas akan menkonversi format bulan yang tadinya angka menjadi format nama - bulan dalam bahasa indonesia, format diatas dapat digunakan meski format tidak tidak tanggal (String).

Contoh penggunaannya

<?php echo date_convert('20-11-2012 05:05:39');?> // bila string biasa (coba2)

<?php echo date_convert($data['TANGGAL']);?> // bila string diambil dari database

 

OK Segitu dulu semoga bermanfaat