Menggunakan Fungsi di PHP, Buat Format Tanggal dalam Bahasa Indonesia

Dalam satu kasus, kamu punya data dalam bentuk tanggal, tertulis '2015-07-11', dan kamu ingin menulisnya dalam Bahasa Indonesia menjadi '11 Juli 2015'. Data tanggal sering disimpan dengan format 'yyyy-mm-dd', dan tugas kamu adalah merubahnya menjadi format di atas. Mari kita tulis proses tersebut:

$months = [
 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 
 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
 ];
$date = '2015-07-11';
$dates = explode('-', $date);
echo $dates[2] . ' ' . $months[intval($dates[1]) - 1] . ' ' . $dates[0];

Kasus lain, kamu punya tabel data yang di dalamnya terdapat satu kolom dengan format tanggal sebagai berikut:

Nama Tanggal Lahir Jenis Kelamin
Andi 1990-09-12 Laki-laki
Budi 1991-12-20 Laki-laki
Rani 1989-10-07 Perempuan

Kamu tidak mungkin melakukan proses perubahan format tanggal pada setiap baris di kolom Tanggal Lahir, karena ada kemungkinan baris tersebut akan bertambah dan bertambah. Cara terbaik adalah dengan menyimpan proses tersebut ke dalam fungsi dan memanggilnya ketika dibutuhkan.

Katakanlah fungsi yang akan kita buat bernama indonesiaDate. Fungsi itu dipanggil dengan menyertakan satu parameter berisikan tanggal yang ingin diubah bentuk. Mari kita buat fungsi tersebut:

function indonesiaDate($date) {
 $months = [
 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 
 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
 ];
 $dates = explode('-', $date);
 return $dates[2] . ' ' . $months[intval($dates[1]) - 1] . ' ' . $dates[0];
}

Fungsi tersebut dapat dipanggil berkali kali dan di mana pun fungsi tersebut dibutuhkan.

echo indonesiaDate('1990-09-12');

Dalam pemprograman, selain fungsi dikenal pula prosedur. Hampir sama, hanya saja jika fungsi mengembalikan suatu nilai, sedangkan prosedur tidak mengembalikan nilai. Di PHP, mendefinisikan prosedur sama saja dengan mendefinisikan fungsi:

function showToday() {
 echo indonesiaDate(date('Y-m-d')); 
}

showToday();

Leave a comment

Leave a Reply