Salah satu perubahan yang langsung terlihat di PHPMaker 2017 adalah dihilangkannya pengaturan Default date format. Pengaturan ini berada di PHP -> General Options pada PHPMaker 12. Sesuai namanya, pengaturan ini untuk menentukan default format tanggal secara global.
Karena pengaturan ini sudah tidak ada lagi di PHPMaker 2017, pasti timbul pertanyaan, lalu bagaimana cara kita menentukan default format tanggal tersebut? Jangan khawatir, karena PHPMaker sudah menyediakan solusinya melalui 70 file locale berekstensi .json. File-file ini berada dalam sub-direktori locale di bawah direktori utama tempat PHPMaker diinstal.
Karena secara standar PHPMaker selalu menggunakan pengaturan English (en), maka file yang akan digunakan terkait pengaturan default format tanggal tersebut adalah en.json. Jika file ini kita buka dengan editor teks seperti Notepad++ misalnya, maka isinya seperti ini:
{ "date": "2016-07-25", "version": "13.0.0", "id": "en", "locale": "en_US", "name": "English (United States)", "desc": "English (United States, EN_US)", "author": "e.World", "decimal_point": ".", "thousands_sep": ",", "mon_decimal_point": ".", "mon_thousands_sep": ",", "currency_symbol": "$", "positive_sign": "", "negative_sign": "-", "frac_digits": 2, "p_cs_precedes": 1, "p_sep_by_space": 0, "n_cs_precedes": 1, "n_sep_by_space": 0, "p_sign_posn": 1, "n_sign_posn": 1, "date_sep": "\/", "time_sep": ":", "date_format": "mdY", "time_zone": "" }
Perhatikanlah item pengaturan yang bernama date_format. Nilainya adalah mdY. Itu artinya, default format tanggal yang digunakan oleh field bertipe Date atau DateTime memiliki urutan: bulan, tanggal, dan tahun. Sedangkan karakter pemisah default-nya adalah slash atau garis miring (/), seperti yang kita lihat pada item pengaturan date_sep.
Katakanlah di suatu table ada field bertipe Date atau DateTime yang bernama Tanggal_Lahir. Jika kita sebagai Web Developer tidak mengubah pengaturan Format yang terdapat pada panel View Tag dari Fields setup, maka default format tanggal yang digunakan pada pengaturan di bawahnya yang bernama Date/time named format adalah Default.
Itu artinya, Aplikasi Web yang dihasilkan oleh PHPMaker 2017 ini akan menggunakan nilai dari date_format pada file .json di atas. File .json ini akan ditempatkan oleh PHPMaker pada sub-direktori phplocale dari direktori utama Aplikasi Web. Tentu saja, nilai default format tanggal ini akan menyesuaikan dengan bahasa yang sedang digunakan oleh Aplikasi Web pada saat itu.
Jika kita bandingkan kode yang terdapat di dalam file en.json tadi, sebagian besar item pengaturan locale itu sama dengan pengaturan localeconv PHP pada http://php.net/localeconv. Ini salah satu fakta lagi yang membuktikan bahwa PHPMaker selalu menggunakan teknologi PHP yang terbaru.
Sedangkan perbedaannya adalah, PHPMaker menambahkan item pengaturan yang bernama date_format di dalam file .json tadi. Di sinilah cerdiknya PHPMaker 2017. Dia memisahkan pengaturan localeconv dari file .xml language seperti yang masih digunakan oleh PHPMaker versi 12. Dengan cara ini, maka banyak Web Developer dari hampir 70 negara yang menggunakan PHPMaker terbantu, karena sudah memiliki pengaturan yang terkait dengan format data angka, tanggal, dan waktu di setiap negaranya.
Sekarang mari kita ambil contoh kasus untuk mengubah nilai pada date_format tadi. Katakanlah kita ingin supaya setiap field yang bertipe Data atau DateTime secara standar akan menggunakan format tanggal dengan urutan: Tanggal, Bulan, Tahun, Jam, Menit, dan Detik, maka nilai pengaturan date_format itu kita ganti menjadi dmYHis.
Meskipun kita bisa menggunakan nilai default format tanggal dari file .json tadi secara global, tentu kita sebagai Web Developer masih tetap bisa mengubah format tanggal untuk field tertentu. Caranya, dari Fields setup -> panel View Tag, pilih salah satu nilai yang kita inginkan dari item pengaturan Date/Time named format.
O iya, satu lagi. Di contoh tadi, kita menggunakan nilai default format tanggal dmYHis. Jika hari ini tanggal 6 Agustus 2016 pukul 9 lewat 8 menit 32 detik, maka nilai tanggal ini akan dikonversi pada Aplikasi Web menjadi 06/08/2016 21:08:32
Huruf Y (kapital) di pengaturan date_format tadi artinya nilai Tahun dalam 4 digit. Jika kita ingin menggunakan tahun dalam dua digit, maka gunakan huruf y (kecil). Sedangkan untuk nilai Jam, harus menggunakan huruf H (besar). Jika nilai date_format tadi tidak valid, maka Aplikasi Web akan otomatis mengambil nilai pada file .json yang bertalian.
Betapa mudah dan fleksibel sekali, bukan? 🙂
rudy budiana mengatakan
Dear Bang Masino,
jika ingin format tanggal nya misal : 17-Aug-2017 apabisa di locale nya disetting seperti itu ?
terimakasih
Masino Sinaga mengatakan
Silahkan dicoba saja langsung dari menu Tools -> Locale Settings.
boby mengatakan
dear bang masino, di table db saya pake short time untuk penjadwalan, tapi di php maker 2017 jadi jam 06:59:59 semua, mohon arahan
Masino Sinaga mengatakan
Iya, karena di PHPMaker, format Time selalu menyertakan komponen detik.
Meskipun begitu, Anda bisa saja memotong atau mem-parsing nilai detiknya supaya tidak disertakan saat akan menyimpan ke Database.
Gunakan server event Row_Inserting dan Row_Updating. Baca topik Server Events and Client Scripts dari menu Help PHPMaker.
deni mengatakan
mlm pak,
saya coba import file excel (didlm file excel terdapat tanggal) field tanggal di file excel berformat date (contohnya 21/03/1990), ketika saya upload file excelnya kenapa data tanggalnya berubah menjadi seperti ini : 210390 (jenis tanggal di database saya set “text”), gmn caranya ya pak agar data tanggal tdk jadi 210390 tapi seperti format tanggal di excel 21/03/1990
mohon bantuannya pak,
terimakasih