Membuat Modifier DATETIME Versi Kita

Ada kalanya kita menginginkan format tanggal yang ingin kita tampilkan di halaman web sesuai dengan keinginan kita, sedangkan format di databasenya tetap DATETIME atau TIMESTAMP. (Kasus pada PHP-MySQL-Smarty)

Misalnya type di databasenya DATETIME (ex : MySQL), maka yang data yang disimpan ke filed tersebut harus memiliki format YYYY-MM-DD HH:NN:SS dimana YYYY adalah tahun dengan format 4 digit, MM adalah bulan dengan format 2 digit dan seterusnya. Misalnya datanya seperti ini 2007-06-03 11:07:09.

Kita menginginkan tampilan di web menjadi Minggu, 03 Juni 2007 bukan 2007-06-03 11:07:09. Caranya sederhana aja, kita konversi aja ke dalam bentuk tanggal dengan memecah belah format tanggal yang ada di database, kemudian kita simpan dalam sebuah fungsi. Saya menggunakan smarty engine sebagai corenya. Scriptnya sebagai berikut:

<?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
* Name: datetime to indonesia version
* Purpose: convert datetime to my date version
* @link https://supono.wordpress.com
* @author Supono pono_thea[at]yahoo[dot]com
* @param string
* @return string
*/
function smarty_modifier_date_news($string)
{
$data = $string;
$data_array = explode(” “, $data);
$data_tanggal = explode(“-“, $data_array[0]);
$date_news = mktime(0, 0, 0, $data_tanggal[1], $data_tanggal[2], $data_tanggal[0]);
$data_date = date(“l d n Y”, $date_news);
$pecah = explode(” “, $data_date);
$nama_bulan = array(1=>”Januari”, “Februari”, “Maret”, “April”, “Mei”, “Juni”, “Juli”, “Agustus”, “September”, “Oktober”, “November”, “Desember”);
$bulan = $nama_bulan[$pecah[2]];
switch ($pecah[0]){
case “Sunday” :
$hari = “Minggu”;
break;
case “Monday” :
$hari = “Senin”;
break;
case “Tuesday” :
$hari = “Selasa”;
break;
case “Wednesday” :
$hari = “Rabu”;
break;
case “Thursday” :
$hari = “Kamis”;
break;
case “Friday” :
$hari = “Jum’at”;
break;
case “Saturday” :
$hari = “Sabtu”;
break;
}
$string = $hari.”, “.$pecah[1].” “.$bulan.” “.$pecah[3];
return $string;
}
?>

Untuk memanggilnya sangat mudah, misalnya kita meng-assign hasil query dari databse dengan nama news seperti ini $smarty->assign(‘news’, $news); dan kita punya filed data datetime dengan nama field postdate. Di tpl-nya kita tulis seperti ini:

{foreach item=new from=$news}
<div class=”date”>{$new.postdate|date_news}</div>
{/foreach}

Hasil tampilannya : Minggu, 03 Juni 2007

Iklan
By Supono Posted in PHP

4 comments on “Membuat Modifier DATETIME Versi Kita

  1. bos apa aja yang harus gw buat untuk bikin web dari awal banget klo bisa please d step by step

  2. # To Vanovz :
    1. Kemauan yang keras
    2. Tidak pantang menyerah
    3. Tidak malu bertanya
    4. Berdo’a
    Sedikit mengurangi jatah tidur dan sedikit mengeluarkan dana untuk membeli buku dan alat2 yang menunjang nya.
    Kalau mas pemua banget, disarankan untuk menguasai bahasa standar HTML, jika menguasai bahasa itu, kenananya akan mudah. Banyak tutorial tentang HTML :
    http://www.klik-kanan.com/desainweb/html/index.shtml
    https://supono.wordpress.com/tag/xhtml/
    http://www.w3schools.com/html/default.asp

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s