Senin, 18 April 2011

Kelas PHP untuk Merubah Format Tanggal

PHP Class to Change Date Format .

Ni ada sharing dariku, kali ini adalah membuat class untuk mengganti/merubah format tanggal. Misal ingin merubah dari tanggal 12/02/2011 menjadi 2011/02/12 atau jadi 12 Februari 2011. Langsung saja, ini script nya (maaf klo masih ada logika yg kurang tepat, ini masih tahap percobaan.) Simpan script ini dengan nama MZA_Date.php
class MZA_Date{
    public $separator;
    public $format = array();
    
    function change_format_date($date, $format_date, $new_format_date){
        $this->format = array();
        $format_date = str_split($format_date);
        $this->split_date($format_date);
        $format_date = $this->format;
                
        $date = explode($this->separator,$date);
        
        $this->format = array();
        $new_format_date = str_split($new_format_date);
        $this->split_date($new_format_date);
        $new_format_date = $this->format;
        for($i=0;$i<count($new_format_date);$i++){
            for($j=0;$j<count($format_date);$j++){
                if(strcasecmp($format_date[$j],$new_format_date[$i]) == 0){
                    $new_date[$i] = $this->check_format($date[$j],$new_format_date[$i]);
                }
            }
        }
        return $new_date[0].$this->separator.$new_date[1].$this->separator.$new_date[2];
    }
    
    function check_format($date, $format_date){
        switch ($format_date){
            case 'y' : $date = substr($date,-2);break;
            case 'M' : $date = $this->month_picker($date); break;            
            case 'm' : $date = $this->month_picker($date); break;
        }
        return $date;
    }
    
    function month_picker($month){
       $array_month = array(0 => "Januari", 1 => "Februari", 2 => "Maret", 
                            3 => "April", 4 => "Mei", 5 => "Juni", 
                            6 => "Juli", 7 => "Agustus", 8 => "September", 
                            9 =>"Oktober", 10 =>"November", 11 =>"Desember");        
        if(is_int($month)){
            $month = intval($month);
            return $array_month[$month-1];
        }else{
            return array_search($month, $array_month)+1;
        }
    }
    
    function split_date($format_date){
        for($i=0;$i<count($format_date);$i++){
            if(ctype_alpha($format_date[$i])){
                array_push($this->format,$format_date[$i]);
            }else{
                $this->separator  = $format_date[$i];
            }
        }
    }
}
cara pakainya class tinggal panggil fungsi yg pertama dalam class tersebut, yaitu  change_format_date($date, $format_date, $new_format_date) dimana parameter :
$date : tanggal yang mau di ganti
$format_date : format dari $date, jika $date = "13/02/2011" maka $format_date HARUS "d/m/Y"
$new_format_date : format tanggal yg baru 
Format tanggal yg disediakan
 Y : Penulisan tahun seperti tahun "2011"
 y : Penulisan tahun dengan 2 digit di depan dihilangkan seperti tahun "11" dari "2011"
 M : Penulisan nama bulan seperti bulan "Februari"
 m : Penulisan nomor urut bulan seperti bulan "02" atau "2" untuk bulan "Februari"
 d : Penulisan tanggal seperti tanggal "17"
Contoh pengggunaan : Buat script seperti d bawah ini, dan simpan dengan nama (contoh) date_example.php
include_once("MZA_Date.php");

$DATE = new MZA_Date();
$date = date("d m Y");
$format = "d m Y";
$new_format = "d M Y";
 
$date = $DATE->change_format_date($date, $format, $new_format);
Demikian dulu sharing PHP Class untuk Merubah Format Tanggal. Semoga bermanfaat... ^_^

Keyword : PHP to change date format, PHP untuk merubah format tanggal

Untuk menghargai HKI(Hak Kekayaan Intelektual), sumber referensi yang saya pakai dan saya pelajari akan ditampilkan.
Referensi    : PHP Date
Author       : Moch. Zawaruddin Abdullah, www.zawaruddin.blogspot.com

Tidak ada komentar:

Posting Komentar