Sejak PHPMaker 2026 menggunakan Framework Symfony, penanganan TimeZone atau Zona Waktu sesuai setting Locale di menu Tools -> Locale Settings dari sisi project aku rasakan sendiri sudah semakin baik dan konsisten.
Hal ini sudah aku buktikan sendiri ketika menggunakan setting time_zone yang kosong dari menu di atas, maka aplikasi web yang dihasilkan oleh PHPMaker 2026 menggunakan zona waktu GMT.
Artinya, jika seandainya kita mengambil nilai dari fungsi global CurrentDateTime(), maka data jam yang disimpan ke database menjadi selisih kurang 7 jam dari waktu saat itu.
Contoh, jika kita saat ini menyimpan data pada pukul 21:00:00, maka data jam yang tersimpan di database menjadi 14:00:00.
Jadi, buat kalian yang aplikasi webnya ingin menggunakan setting selain GMT tadi (katakanlah kita ingin menggunakan setting GMT+7), maka ada dua hal yang harus kalian sesuaikan, khususnya jika kalian juga menggunakan fitur FullCalendar lewat Calendar Report di project PHPMaker 2026.
PERTAMA, kalian wajib mengisi setting time_zone dari menu Locale Settings di atas tadi dengan nilai Asia/Jakarta. Dengan mengeset pengaturan tersebut ke time zone tadi, maka aplikasi web akan otomatis menterjemahkan waktu menjadi GMT+7.
KEDUA, kalian wajib menambahkan kode berikut dari bagian server event Page_Head di project PHPMaker 2026:
<script<?= Nonce() ?>>
ew.calendarOptions.fullCalendarOptions.timeZone = "UTC+7"; // it is equal to Asia/Jakarta timezone
});
</script>
Fungsi dari kode Javascript barusan adalah untuk mendefinisikan bahwa Time Zone yang digunakan untuk FullCalendar adalah UTC+7 atau sama dengan GMT+7. Tapi dalam hal ini, setting-nya harus UTC+7.
Terima kasih kepada PHPMaker 2026 yang sudah mulai menggunakan Framework Symfony dan Javascript Library FullCalendar. Keduanya ternyata sama-sama menggunakan setting GMT secara konsisten.
Dengan sinkronnya setting default di antara keduanya, maka kita pun dengan mudah dapat menyesuaikan ke setting yang kita inginkan.
Keduanya juga sudah terbukti berfungsi ketika diatur ke setting yang berbeda dengan setting default-nya.
Dengan penyesuaian kedua setting di atas, maka apabila kita menyimpan data jam ke database, maka nilai yang sesuai dengan setting TimeZone yang baru tadilah yang digunakan.
Tulisan ini sekedar ingin mengingatkan saja buat kita semua, bahwa jangan pernah ragu lagi untuk menyesuaikan ke setting Locale yang kita inginkan, karena sejak PHPMaker 2026 ini, kelihatan konsistensi penggunaan setting yang terkait dengan Time Zone berfungsi sebagaimana yang diharapkan.
Apabila di kemudian hari ditemukan hal yang tidak sesuai dengan pengalaman di atas, maka tulisan ini sebagai pengingat bahwa sudah pernah terbukti berhasil jika menyesuaikan kedua setting tersebut.
Tinggalkan Balasan