Membuat Format Hari Indonesia Dengan PHP

Tutorial PHP – Membuat Format Hari Indonesia Dengan PHP

Pada artikel kali ini saya akan menjelaskan tutorial PHP tentang cara membuat format hari Indonesia dengan PHP dari format tanggal MySQL.

begini contohnya, misalkan saya memiliki data tanggal dengan bentuk standar MySQL seperti “2014-04-15“.

format seperti diatas tidak bisa kita gunakan pada halaman website karena orang Indonesia pada umumnya tidak terbiasa dengan format tanggal seperti itu.

Selain itu, terkadang user ingin agar data tanggal yang tampil dapat memuat hari apa yang bertepatan dengan tanggal tersebut misalnya “Selasa 15 April 2014“.

Membuat Format Hari Indonesia Dengan PHP

Tutorial ini akan menjelaskan bagaimana cara membuat format hari dengan bahasa Indonesia dari format standar date dari MySQL dengan menggunakan bahasa pemrograman PHP dari data tanggal diatas.

Class Date

Pertama kita akan membuat sebuah class bernama Date.php.

<?php
class Date 
{
  // class date
}
?>

Class ini kita gunakan untuk menampung beberapa function yang akan kita gunakan untuk mengkonverssi format tanggal hari Indonesia dengan menggunakan bahasa pemrograman PHP.

Setelah itu kita buat sebuah function didalam class Date untuk mengkonversi format bulan menjadi bahasa Indonesia.

Misalkan kita memiliki sebuah data tanggal yang berasal dari MySQL dengan bentuk 2014-04-15 yang dimana format dari date tersebut adalah Y-m-d.

function berikut digunakan untuk mengambil data bulan (m) yaitu 04 lalu mengkonversikannya kedalam bentuk bulan dalam bahasa Indonesia. Kemudian mengembalikan nilai konversi tersebut ke function utama.

Function getIndoBulan()

<?php 

class date 
{
    function getIndoBulan($bln) {
        switch ($bln) {
            case 1:
                return "Januari";
                break;
            case 2:
                return "Februari";
                break;
            case 3:
                return "Maret";
                break;
            case 4:
                return "April";
                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;
        }
    }
}
?>

Selanjutnya kita akan membuat function untuk mengkonversi format tanggal (d) yaitu 15 menjadi sebuah format hari dalam bahasa Indonesia, misalnya hari selasa.

Baca Juga : Tutorial PHP – Menyimpan Array Pada Session PHP

Function getIndoHari()

<?php 

class date 
{
    function getBulanIndo($bln) {
        switch ($bln) {
            case '01':
                return "Januari";
                break;
            case '02':
                return "Februari";
                break;
            case '03':
                return "Maret";
                break;
            case '04':
                return "April";
                break;
            case '05':
                return "Mei";
                break;
            case '06':
                return "Juni";
                break;
            case '07':
                return "Juli";
                break;
            case '08':
                return "Agustus";
                break;
            case '09':
                return "September";
                break;
            case '10':
                return "Oktober";
                break;
            case '11':
                return "November";
                break;
            case '12':
                return "Desember";
                break;
        }
    }

    function getIndoHari($date) {
        switch ($day) {
            case "Mon": 
                return "Senin";
                break;
            case "Tue":
                return "Selasa";
                break;
            case "Wed":
                return "Rabu";
                break;
            case "Thu":
                return "Kamis";
                break;
            case "Fri":
                return  "Jumat";
                break;
            case "Sat":
                return "Sabtu";
                break;
            case "Sun":
                return "Minggu";
                break;
        }
    } 
}
?>

Function diatas berfungsi untuk mengkonversi format hari dari bahasa inggris ke bahasa indonesia lalu mengembalikan nilai tersebut ke function utama.

Lalu sekarang kita buat function utama yang berfungsi untuk menerima parameter dari input dari halaman utama.

Setelah menerima paramater kemudian memanggil dua method sebelumnya lalu mengembalikan nilai yang sudah dikonversi ke halaman utama

Function getIndoDate()

<?php 
function getIndoDate($date) {
        // explode dulu menjadi sebuah array untuk memisahkan data tanggal dengan pemisah strip
        $temp_date = explode("-", $date);

        // khusus untuk tanggal, kita konversi tanggal dari parameter
        // sehingga outputnya menjadi 'Mon','Tue', 'Wed'dll
        $day = date_format(date_create($date), 'D');

        // hasil konversi sebelumnya di kirim ke method getIndoHari
        // untuk dikonversi kembali menjadi format hari indonesia
        $hari    = $this->getIndoHari($day);

        // untuk bulan, kita ambil data bulan yg sudah kita explode
        // lalu panggil fungsi getIndoBulan
        $bulan   = $this->getIndoBulan($temp_date[1]);

        // untuk tahun dan tanggal tampung saja dalam variable.
        $tahun   = $temp_date[0];
        $tanggal = $temp_date[2];
        
        // susun ulang format data yang akan di kembalikan ke halaman utama
        $new_date = $hari." ".$tanggal.", ".$bulan." ".$tahun;

        return $new_date;
    }
?>

Dengan fungsi utama diatas maka kode lengkap untuk class Date adalah sebagai berikut :

<?php 

class date 
{
    function getBulanIndo($bln) {
        switch ($bln) {
            case '01':
                return "Januari";
                break;
            case '02':
                return "Februari";
                break;
            case '03':
                return "Maret";
                break;
            case '04':
                return "April";
                break;
            case '05':
                return "Mei";
                break;
            case '06':
                return "Juni";
                break;
            case '07':
                return "Juli";
                break;
            case '08':
                return "Agustus";
                break;
            case '09':
                return "September";
                break;
            case '10':
                return "Oktober";
                break;
            case '11':
                return "November";
                break;
            case '12':
                return "Desember";
                break;
        }
    }

    function getIndoHari($date) {
        switch ($day) {
            case "Mon": 
                return "Senin";
                break;
            case "Tue":
                return "Selasa";
                break;
            case "Wed":
                return "Rabu";
                break;
            case "Thu":
                return "Kamis";
                break;
            case "Fri":
                return  "Jumat";
                break;
            case "Sat":
                return "Sabtu";
                break;
            case "Sun":
                return "Minggu";
                break;
        } 
    } 

    function getIndoDate($date) {
        // explode dulu menjadi sebuah array untuk memisahkan data tanggal dengan pemisah strip
        $temp_date = explode("-", $date);

        // khusus untuk tanggal, kita konversi tanggal dari parameter
        // sehingga outputnya menjadi 'Mon','Tue', 'Wed'dll
        $day = date_format(date_create($date), 'D');

        // hasil konversi sebelumnya di kirim ke method getIndoHari
        // untuk dikonversi kembali menjadi format hari indonesia
        $hari    = $this->getIndoHari($day);

        // untuk bulan, kita ambil data bulan yg sudah kita explode
        // lalu panggil fungsi getIndoBulan
        $bulan   = $this->getIndoBulan($temp_date[1]);

        // untuk tahun dan tanggal tampung saja dalam variable.
        $tahun   = $temp_date[0];
        $tanggal = $temp_date[2];
        
        // susun ulang format data yang akan di kembalikan ke halaman utama
        $new_date = $hari." ".$tanggal.", ".$bulan." ".$tahun;

        return $new_date;
    }
}
?>

Sekarang kita buat kode untuk untuk menjalankan class Date diatas.

<?php 

require('Date.php');
$date = new Date;

$tgl_indo = $date->getIndoDate('2014-04-15');
echo $tgl_indo;
?>

Setelah itu kita jalankan kode tersebut di browser.

Membuat Format Hari Indonesia Dengan PHP - Demo

Kamu bisa melihat demo script disini.

Demikian dulu tutorial PHP dari saya. Silahkan dicoba dan semoga bermanfaat.

Tinggalkan komentar