Sebenarnya sudah banyak artikel seputar manipulasi format tanggal baik di PHP maupun MySQL, tapi tak apalah siapa tahu tulisan kecil inipun bisa membantu teman-teman. Secara default, MySQL menyimpan data ‘date’ dalam format ‘yyyy-mm-dd’. Untuk merubah format tanggal tersebut bisa kita lakukan dengan merubah format di MySQL, namun cara ini tidak saya bahas, karena menurut saya lebih fleksibel kalau kita menyiasati format tampilan di sisi client.
Misal kita sudah menyiapkan tabel dengan salah satu kolom bernama ‘tgl’ dengan format kolom ‘date’, dan kita membuat recordset misal dengan nama ‘panggiltgl_rec’. Untuk merubah format tgl tersebut, kita bisa menggunakan fungsi strtotime.
- Misal kita ingin menampilkan format ‘dd-mm-yyyy’ maka cara memanggilnya adalah <?php echo date(‘d-m-Y’, strtotime($row_panggil_rec[“tgl”])); ?>
- Misal kita ingin menampilkan format ‘yyyy’ maka cara memanggilnya adalah <?php echo date(‘Y’, strtotime($row_panggil_rec[“tgl”])); ?>
- Kalau kita ingin menampilkan format Indonesia, misalnya Minggu, 6 Maret 2011, maka kita menambahkan fungsi LC_TIME, strftime. Penggunaannya seperti ini <?php setlocale(LC_TIME,’in’);
echo strftime(‘%A, %d %B %Y’, strtotime($row_panggiltgl_rec[‘tgl’])); ?>
Jika point nomor 3 masih bermasalah dalam menampilkan format tanggal indonesia (seperti yang saya alami, maka coba setting ini : setlocale(LC_ALL, 'id_ID.UTF8', 'id_ID.UTF-8', 'id_ID.8859-1', 'id_ID', 'IND.UTF8', 'IND.UTF-8', 'IND.8859-1', 'IND', 'Indonesian.UTF8', 'Indonesian.UTF-8', 'Indonesian.8859-1', 'Indonesian', 'Indonesia', 'id', 'ID', 'en_US.UTF8', 'en_US.UTF-8', 'en_US.8859-1', 'en_US', 'American', 'ENG', 'English');
Sekian dulu, semoga membantu
Saya coba sharing aj ttg masalah date format ke MySQL (yyyy-mm-dd) dari form input PHP (dd-mm-yyyy). Dimana muncul di MySQL “0000-00-00”
Saya bukan seorang programmer. Saya sendiri menggunakan fasilitas dreamweaver utk membuat website PHP. Dan saya menggunakan jQuery untuk datepicker. Waktu saya praktekan datepicker ini, ternyata masih ada masalah seperti di atas.
Oke, pada dreamweaver ada fungsi yang dijabarkan, yaitu:
if (!function_exists(“GetSQLValueString”)) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = “”, $theNotDefinedValue = “”)
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists(“mysql_real_escape_string”) ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case “text”:
$theValue = ($theValue != “”) ? “‘” . $theValue . “‘” : “NULL”;
break;
case “long”:
case “int”:
$theValue = ($theValue != “”) ? intval($theValue) : “NULL”;
break;
case “double”:
$theValue = ($theValue != “”) ? “‘” . doubleval($theValue) . “‘” : “NULL”;
break;
case “date”:
$theValue = ($theValue != “”) ? “‘” . $theValue . “‘” : “NULL”;
break;
case “defined”:
$theValue = ($theValue != “”) ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
cobalah menyisipkan sebaris script berikut dalam:
case “date”:
$theValue = ($theValue != “”) ? “‘” . $theValue . “‘” : “NULL”;
break;
sehingga menjadi:
case “date”:
$theValue = date(‘Y-m-d’, strtotime($theValue));
$theValue = ($theValue != “”) ? “‘” . $theValue . “‘” : “NULL”;
break;
Siipp…makasih infonya mas Indra…masukan yang sangat berguna 🙂
#Indra Bustami : Mas, kalau tanggalnya di otomatisin jadi hari ini itu gimana ? Cosz tanggalnya masih tahun lama… thanks
Kalau otomatis jadi hari ini maka formatnya lebih sederhana yaitu
. Perintah ini akan menampilkan tanggal-bulan-tahun saat ini. Semoga membantu
@Indra Bustami: Saya baru belajar dreamweaver. Tolong bantu saya untuk menampilkan inputan tanggal pada textfield tanggal, jadi setelah di klik tanggal akan langsung masuk ke textfield tanggal. Kalo bisa pake screenshotnya… terimakasih banget.
@Dody, Maaf saya kurang jelas dengan pertanyaannya. Bisa diperjelas? Nwn
@Mas Ndholkondho … mungkin maksud @Mas Dody adalah fungsi datepicker pada textfield ya? (correct me if i wrong/cmiiw). Kalau memang benar, Mas Dody bisa liat tutorial JQuery utk datepickernya di Youtube di http://www.youtube.com/watch?v=tkKrvgANv8A dan http://www.youtube.com/watch?v=5sK7cw2Ph9k
Sebenarnya HTML5 juga sudah menyediakan fasilitas baru utk datepicker , tapi baru browser Opera dan Chrome yang mendukung fasilitas ini. Silahkan lihat tutorialnya di http://www.html5tutorial.info/html5-date.php
saya menggunakan di browser koq tanggalnya jadi 0. kenpa ea?