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