Cara mengganti format tanggal PHP ke format indonesia

Kita dalam sebuah aplikasi sering pengen mengubah tanggal dari tanggal bahasa inggris ke tanggal bahasa indonesia. Di PHP secara default digunakan format dalam bahasa inggris, bagi developer sih ga masalah tapi bagi pengguna aplikasi tentu lebih cantik jika kita mampu menyediakan aplikasi yang nyaman bagi mereka. nah di tulisan ini akan dibagikan bagaimana caranya mengubah atau konversi tanggal dari tanggal default bahasa inggris ke tanggal bahasa indonesia. fungsi berikut juga mampu mengubah hari dan bulan menjadi bentuk indonesia.

tambahkan fungsi berikut :

 
/**
  * Rubah format tanggal ke format indonesia dengan nama bulan dan hari indonesia
  * @param  string $timestamp   [bisa dalam bentuk timestamp atau unix_date]
  * @param  string $date_format [d F Y ==> 12 Januari 2017]
  * @param  string $suffix      [contoh tuliskan WIB default false]
  * @return [string]              [tanggal indonesia]
  *
  * created by navotera@gmail.com
  * share-system.com
  */
  function indonesian_date ($timestamp = '', $date_format = 'd F Y', $suffix = '') {
    if($timestamp == NULL)
      return '-';

    if($timestamp == '1970-01-01' || $timestamp == '0000-00-00' || $timestamp == '-25200')
      return '-';


    if (trim ($timestamp) == '')
    {
            $timestamp = time ();
    }
    elseif (!ctype_digit ($timestamp))
    {
        $timestamp = strtotime ($timestamp);
    }
    # remove S (st,nd,rd,th) there are no such things in indonesia :p
    $date_format = preg_replace ("/S/", "", $date_format);
    $pattern = array (
        '/Mon[^day]/','/Tue[^sday]/','/Wed[^nesday]/','/Thu[^rsday]/',
        '/Fri[^day]/','/Sat[^urday]/','/Sun[^day]/','/Monday/','/Tuesday/',
        '/Wednesday/','/Thursday/','/Friday/','/Saturday/','/Sunday/',
        '/Jan[^uary]/','/Feb[^ruary]/','/Mar[^ch]/','/Apr[^il]/','/May/',
        '/Jun[^e]/','/Jul[^y]/','/Aug[^ust]/','/Sep[^tember]/','/Oct[^ober]/',
        '/Nov[^ember]/','/Dec[^ember]/','/January/','/February/','/March/',
        '/April/','/June/','/July/','/August/','/September/','/October/',
        '/November/','/December/',
    );
    $replace = array ( 'Sen','Sel','Rab','Kam','Jum','Sab','Min',
        'Senin','Selasa','Rabu','Kamis','Jumat','Sabtu','Minggu',
        'Jan','Feb','Mar','Apr','Mei','Jun','Jul','Ags','Sep','Okt','Nov','Des',
        'Januari','Februari','Maret','April','Juni','Juli','Agustus','September',
        'Oktober','November','Desember',
    );
    $date = date ($date_format, $timestamp);
    $date = preg_replace ($pattern, $replace, $date);
    $date = "{$date} {$suffix}";
    return $date;
} 

simpan file tersebut dengan nama date_helper.php
kemudian tambahkan di script anda dengan mengincludekan ke file php anda caranya misalnya anda punya folder project seperti ini :

www
   -my_projects
      index.php
      date_helper.php

di file index.php tambahkan script include berikut :

<?php 

include('date_helper.php');

?>

kemudian jalankan fungsi tersebut contoh misalnya anda tambahkan di file index.php dengan contoh kode berikut :

 
 $tanggal = time();

 $timestamp = date('d-F-Y');

 echo 'Format Unix date : '.indonesian_date($tanggal);

 echo '</br>';

 echo 'Format timestamp : '.indonesian_date($timestamp);

 echo '</br>';

 echo 'Format dengan hari : '.indonesian_date($tanggal, 'l, d F Y');

maka akan menghasilkan format berikut di browser anda :

//ini di tampilan browser lho

Format Unix date : 04 Mei 2018
Format timestamp : 04 Mei 2018
Format dengan hari : Jumat, 04 Mei 2018 

that its bro. silahkan share !

referensi tambahan untuk format date php :

http://php.net/manual/en/function.date.php

Leave a Comment

Your email address will not be published.