Apa kabar sobat semua... waahhh lama juga ya tidak menyapa sobat setia hehehe.. oke, pada kesempatan kali ini saya akan berbagi tutorial bagaimana cara merubah timezone pada CodeIgniter. Untuk apa sih timezone itu ?Sesuai dengan namanya, timezone digunakan untuk merubah lokasi waktu pada project yang kita buat. Misalkan kita ada di indonesia dan server tempat kita hosting terletak di amerika, maka waktu yang diambil pun akan mengikuti server. Pastinya hal ini sangat berpengaruh jika kita bermain dengan fungsi-fungsi yang berhubungan dengan waktu seperti fungsi date(), time() dan masih banyak lagi. Nah, dengan mengeset timezone kita bisa merubah pengambilan waktu sesuai waktu tempat kita di indonesia yaitu GMT +7. Beberapa waktu lalu sempat saya dibuat pusing gara-gara lupa mengeset timezone hehehe.. bagaimana tidak pusing coba, waktu itu project dijalankan di server lokal (localhost) bisa berjalan dengan baik, namun waktu project di upload ke server malah muncul beberapa masalah yang berhubungan dengan waktu seperti saat pengambilan data. usut punya usut ternyata saya lupa menambahkan default timezone nya dan setelah saya tambahkan satu baris tersebut project pun bisa berjalan dengan sangat baik hehehe.. Lahh kok malah curhat :P, Baik kita langsung ke pokok pembahasan saja ya sob. Untuk merubah default timezone pada CodeIgniter sendiri tergolong sangat mudah sob, karena kita hanya perlu meletakkan satu baris code saja. nah penasaran ? silahkan ikuti langkah langkah di bawah ini :
Nah, jika langkah nomor 1 sampai 3 sudah sobat lakukan, silahkan sobat cek pengaturan timezone nya apakah sudah sesuai dengan lokasi kita. Sobat bisa menggunakan script di bawah ini :
Baik sobat, saya rasa mungkin cukup ini yang bisa saya bagikan kali ini, semoga sedikit coretan ini bisa bermanfaat untuk sobat semua. Oh iya, untuk list timezone bisa dilihat pada link di bawah ini : php.net/manual/en/timezones.php Bagi anda yang mempunyai masalah atau warning funtion.date, berikut cara setting Time Zone untuk PHP 5.3.0, Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Jakarta’ for ‘WIT/7.0/no DST’ instead in /home/xxxxxx/public_html/config.php on line 99 dari error diatas dapat diartikal bahwa ada kesalahan pada timezone setting jadi kita harus melakukan setting sesuai yang di infokan. We selected ‘Asia/Jakarta’ for ‘WIT/7.0/no DST’ instead in /home/xxxxxx/public_html/config.php on line 99 ini menandakan bahwa skrip website anda memilih setting waktu ‘Asia/Jakarta’ sehingga kita harus menyesuaikan dengan setting waktu yang ada di skrip website kita. Caranya adalah sebagai berikut: Buka file php.ini, jika file blm ada anda bisa create new file php.ini date.timezone = {tulis timezone disini} contohnya bila di indonesia menggunakan time zone berikut: date.timezone = Asia/Jakarta kemudian Save file php.ini dan selesai Sering kali kita merasa kesulitan bahwa waktu yang terdapat pada PHP tidak sama dengan waktu yang sebenarnya. Apa lagi waktu yang ingin kita simpan di database sangat penting sekali terhadap perubahan yang dilakukan pada program. Untuk mengetahui zona waktu yang sendang kita gunakan, kita dapat menggunakan script sebagai berikut:
Script diatas akan menampilkan zona waktu sesuai dengan yang ada pada komputer server kita. Zona waktu tersebut dapat saja berbeda dengan zona waktu tempat tinggal kita, untuk itu kita harus menyesuaikan zona waktu di PHP agar sesuai dengan yang kita inginkan. Berikut zona waktu yang ada di Indonesia.
Berikut merupakan script untuk merubah zona waktu yang sesuai dengan lokasi saya saat ini.
Kode diatas akan merubah zona waktu menjadi waktu Asia/Jakarta. Bagaimana cara memodifikasi pengaturan PHP timezone untuk website saya? Mengatur timezone website dengan fungsi PHP Ditulis oleh Ratu Mahardhika Konfigurasi waktu server global Anda tidak dapat diubah. Namun, Anda dapat menggunakan fungsi PHP date_default_timezone_set untuk mengatur zona waktu website. Di bawah ini merupakan contoh code yang mengatur dan mengecek zona waktu sekarang:
CATATAN:
Jangan pernah bergantung ke konfigurasi server untuk menentukan timestamp, karena kita belum tentu tau/bisa menyesuaikan timezone dengan yang kita kehendaki. <?php $timestamp = date('Y-m-d G:i:s'); untuk mengambil waktu saat ini di server/komputer yang anda gunakan. Cara tersebut bergantung dengan konfigurasi date.timezone = 'Asia/Jakarta' menggunakan zona waktu WIB. Jika anda tidak memiliki hak untuk merubah timezone di php.ini, gunakan Datetime disisipkan zona waktu yang dikehendaki. Berikut ini contoh timestamp untuk zona waktu Indonesia (Jakarta (WIB), Makassar (WITA), Jayapura (WIT)). <?php echo "zona waktu dari server: " . date('Y-m-d G:i:s') . " \n"; $tz = 'Asia/Jakarta'; $dt = new DateTime("now", new DateTimeZone($tz)); $timestamp = $dt->format('Y-m-d G:i:s'); echo "WIB : $timestamp \n"; $tz = 'Asia/Makassar'; $dt = new DateTime("now", new DateTimeZone($tz)); $timestamp = $dt->format('Y-m-d G:i:s'); echo "WITA : $timestamp \n"; $tz = 'Asia/Jayapura'; $dt = new DateTime("now", new DateTimeZone($tz)); $timestamp = $dt->format('Y-m-d G:i:s'); echo "WIT : $timestamp \n"; hasil menjalankan script diatas zona waktu dari server: 2020-02-10 10:46:34 WIB : 2020-02-10 10:46:34 WITA : 2020-02-10 11:46:34 WIT : 2020-02-10 12:46:34 bandingkan dengan server yang tidak diset timezone di zona waktu dari server: 2020-02-10 3:46:34 WIB : 2020-02-10 10:46:34 WITA : 2020-02-10 11:46:34 WIT : 2020-02-10 12:46:34 terlihat perbedaanya kan di Reader Interactions |