Friday, April 11, 2008

PHP get time for asia zone on windows server

Ketika saya hendak migrasi script php yang saya buat dengan php 4 ke php 5.x saya mengalami kendala dalam menampilkan waktu dari server.
Pada kasus saya, saya menggunakan XAMPP pada windows server, dan ketika hendak mengambil time dengan fungsi date("H:i a",time()) hasil yang saya peroleh tidak sama dengan waktu server.
Semisal hasil yang diperoleh ketika menggunakan fungsi diatas adalah : 06:59 am sedangkan server menunjukan pukul 14:05 pm nah lho?
Tadinya saya pikir server saya yang mengalami kesalahan dalam waktu, namun saya check hingga waktu dibios semuanya benar, dan saya semakin bingung.
Akhirnya setelah googling, saya menemukan jawaban dari masalah saya.


  1. XAMPP menggunakan PHP 5.1.1

  2. Terdapat bugs pada PHP 4.3.3 yang mana windows selalu memberikan nilai waktu dengan format timezone UTC dan BST, tentunya beda dong dengan format waktu kita disini (at least di Bali lah)

  3. Pada versi PHP 5.x telah disediakan fungsi date_default_timezone_set();


Akhirnya setelah saya coba untuk mendeklarasikan date_default_timezone_set sebelum pemanggilan fungsi date(), program saya dapat berjalan dengan normal.
Untuk lebih jelas tentan zona-zona waktu asia yang didukung oleh PHP, silahkan lihat disini

'Read More...'