Blog Posts » PHP » date_default_timezone_set
date_default_timezone_set
Saat menggunakan fungsi yang berhubungan dengan timezone (date, strtotime, dll), PHP mengharuskan agar kita men-set standar timezone pada script kita. Jika hal tsb tidak dilakukan maka PHP akan mengambil settingan di Sistem Operasi. Dan jika E_WARNING aktif maka akan menimbulkan pesan error seperti ini:
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/Krasnoyarsk' for '7.0/no DST' instead in...
Mengapa dikatakan tidak safe?
Jika kita tidak menetapkan standar timezone pada script maka fungsi-fungsi yang saya sebutkan diatas akan selalu ngikut settingan timezone pada OS yang digunakan server/hosting dan ini adalah tidak standar karena setiap server bisa berbeda-beda dan ujung-ujungnya hanya bikin kita bingung.
Jika kita tidak punya akses terhadap php.ini maka cara menetapkan standar timezone di PHP adalah dengan menggunakan date_default_timezone_set.
[Textarea][RAW][Download]
- date_default_timezone_set('Asia/Jakarta');
- echo date('e'); // Asia/Jakarta
- echo date('O'); // +0700
- echo date('P'); // +07:00
- echo date('Z'); // 25200
- echo date('r'); // Fri, 07 Dec 2012 10:48:31 +0700
Asia/Jakarta adalah timezone identifier. Untuk timezone identifier yang lain ada di List of Supported Timezones.