Fungsi Serbaguna “substr” untuk Merubah Format Tanggal

facebooktwittergoogle_plusredditpinterestlinkedinmail

Sepertinya dari judul postingan kali ini agak rancu pemakaian kata-katanya. Tapi intinya adalah bagaimana caranya merubah format tanggal standar menjadi format standar di database (format : date), menggunakan fungsi substr.

Misalnya begini, kita punya tanggal dengan format 31/12/2013 ingin kita rubah menjadi 2013-12-13, karena dalam format date di SQL formatnya harus Tahun-Bulan-Tanggal.

Melalui fungsi manipulasi string di PHP kita dapat merubahnya, yaitu menggunakan si FUNGSI SERBAGUNA yaitu substr.

Oke pertama-tama buat sebuah file php dengan nama fungsi_tanggal.php, dan berikut ini source code yang akan dimuat dalam file tersebut :

<?php
//FUNGSI AMBIL TANGGAL SEKARANG
 function get_now() {
date_default_timezone_set('Asia/Jakarta'); // PHP 6 mengharuskan penyebutan timezone.
$tgl_sekarang = date("d-m-Y");
return $tgl_sekarang;
}
//FUNGSI AMBIL TANGGAL DAN WAKTU SEKARANG
 function datetime_now() {
date_default_timezone_set('Asia/Jakarta'); // PHP 6 mengharuskan penyebutan timezone.
$tgl_sekarang = date("d-m-Y");
 $jam_sekarang = date("H:i:s");
return $tgl_sekarang.' '.$jam_sekarang;
}
if (!function_exists('format_year')) {
function format_year($date, $sql = TRUE) {
if ($sql == TRUE) {
$year = substr($date, 0, 4);
} else {
//indonesian format
$year = substr($date, 6, 4);
}
 return $year;
}
}
//FUNGSI NAMA BULAN
 if (!function_exists('format_month')) {
function format_month($month) {
$indo_month = array(
 '01' => 'Januari',
 '02' => 'Februari',
 '03' => 'Maret',
 '04' => 'April',
 '05' => 'Mei',
 '06' => 'Juni',
 '07' => 'Juli',
 '08' => 'Agustus',
 '09' => 'September',
 '10' => 'Oktober',
 '11' => 'November',
 '12' => 'Desember'
 );
return $indo_month[$month];
 }
}
//FUNGSI FORMAT TANGGAL INDONESIA (12 Mei 2013)
 if (!function_exists('format_date')) {
function format_date($date) {
$hari = substr($date, 0, 2);
 $bulan = substr($date, 3, 2);
 $tahun = substr($date, 6, 4);
 return $hari . ' ' . format_month($bulan) . ' ' . $tahun;
}
}
//FUNGSI TANGGAL DARI SQL KE INDONESIA (2013-05-23 -> 23-05-2013)
 if (!function_exists('format_sqltoindo')) {
function format_sqltoindo($date) {
$hari = substr($date, 8, 2);
 $bulan = substr($date, 5, 2);
 $tahun = substr($date, 0, 4);
 return $hari . '/' . $bulan . '/' . $tahun;
}
}
//FORMAT INDONESIA TO SQL (23-05-2013 -> 2013-05-23, biasanya dipakai buat edit data)
 if (!function_exists('format_indotosql')) {
function format_indotosql($date) {
$hari = substr($date, 0, 2);
 $bulan = substr($date, 3, 2);
 $tahun = substr($date, 6, 4);
 return $tahun . '-' . $bulan . '-' . $hari;
}
}
 //FORMAT TANGGAL DAN WAKTU SQL (2013-05-23 11:55:45) biasanya dipakai untuk edit data/tambah
 if (!function_exists('format_datetime_sql')) {
function format_datetime_sql($datetime) {
$hari = substr($datetime, 0, 2);
 $bulan = substr($datetime, 3, 2);
 $tahun = substr($datetime, 6, 4);
 $jam = substr($datetime, 11, 2);
 $menit = substr($datetime, 14, 2);
 $detik = '00';
 return $tahun . '-' . $bulan . '-' . $hari . ' ' . $jam . ':' . $menit . ':' . $detik;
}
}
//FORMAT TANGGAL DAN WAKTU SQL -> INDO (23 Mei 2013 11:55:45)
 if (!function_exists('format_datetime_indo')) {
function format_datetime_indo($datetime) {
$hari = substr($datetime, 0, 2);
 $bulan = substr($datetime, 3, 2);
 $tahun = substr($datetime, 6, 4);
 $jam = substr($datetime, 11, 2);
 $menit = substr($datetime, 14, 2);
 $detik = substr($datetime, 17, 2);
 return $hari . '/' . $bulan . '/' . $tahun . ' ' . $jam . ':' . $menit . ':' . $detik;
}
}

 

Selanjutnya kita buat file index.php 

<?php
include"fungsi_tanggal.php";
//SOURCE atau TANGGAL YANG AKAN DIRUBAH
$tanggal_indo = "31/03/2013";
$tanggal_jam_indo = "31/03/2013 12:13:55";
echo "Format Tanggal Indo : ". $tanggal_indo;
echo "<br/><br/>";
echo "Format Tanggal dan Jam Indo : ". $tanggal_jam_indo;
echo "<br/><br/><hr>";
//HASIL KONVERSI
echo "Hasil Ubah Format tanggal indonesia ke SQL : ".format_indotosql($tanggal_indo);
echo "<br/><br/>";
echo "Hasil Ubah ke Format Formal/biasa, cth. 31 Maret 2013 : ".format_date($tanggal_indo);
echo "<br/><br/>";
echo "Ambil Tanggal Sekarang : ".get_now();
echo "<br/><br/>";
echo "Ambil Tanggal dan jam sekarang : ".datetime_now();
echo "<br/><br/>";
echo "Ubah Tanggal dan waktu Indonesia ke Format SQL : ".format_datetime_sql($tanggal_jam_indo);
echo "<br/><br/>";
echo "Ubah Tanggal dan waktu SQL sekarang ke Format Formal/biasa : ".format_datetime_indo(datetime_now());
?>

Kalau sudah silahkan eksekusi dan lihat hasilnya.

Untuk mendownload filenya bisa didownload disini

Facebook Comments