Bagaimana Cara Mengatur Timezone? Ini Langkah-Langkah Praktisnya
Dalam pengembangan aplikasi berbasis PHP, pengaturan timezone (zona waktu) merupakan hal penting yang sering diabaikan. Sebuah aplikasi yang tidak mengatur timezone dengan benar dapat menampilkan waktu yang salah, terutama jika server dan pengguna berada di lokasi yang berbeda. Kesalahan waktu ini bisa berdampak pada fitur penting seperti pencatatan log, waktu transaksi, timestamp database, hingga penjadwalan otomatis (cron job).
Untuk itu, PHP menyediakan cara mudah untuk mengatur timezone secara manual melalui script. Pada artikel ini, kita akan membahas secara lengkap bagaimana cara mengatur timezone di PHP, apa saja opsi yang tersedia, serta contoh implementasinya.
Mengapa Timezone Penting dalam PHP?
Timezone sangat berpengaruh terhadap:
-
Waktu server yang ditampilkan kepada pengguna.
-
Fungsi
date(),time(),strtotime(),DateTime, dan lainnya. -
Pencatatan event penting seperti login, transaksi, dan error log.
-
Konsistensi waktu antara server dan database.
Jika timezone tidak disesuaikan, aplikasi bisa menampilkan waktu yang mundur atau maju beberapa jam, khususnya jika server berada di negara berbeda seperti US atau Eropa.
Cara Mengetahui Timezone Default PHP
Sebelum mengubah timezone, Anda bisa mengecek timezone bawaan server dengan menggunakan fungsi:
Outputnya bisa berupa:
-
UTC -
America/New_York -
Asia/Singapore -
atau lainnya, tergantung konfigurasi server.
Jika hasilnya bukan timezone lokasi Anda, maka Anda perlu mengubahnya.
Cara Mengatur Timezone di PHP Menggunakan Script
PHP menyediakan fungsi khusus untuk mengatur timezone, yaitu:
Contoh implementasi lengkapnya:
Output (misalnya):
Daftar Timezone yang Umum Digunakan
Berikut beberapa timezone populer:
| Lokasi | Timezone |
|---|---|
| Indonesia (Jakarta) | Asia/Jakarta |
| Indonesia (Makassar) | Asia/Makassar |
| Indonesia (Jayapura) | Asia/Jayapura |
| Singapura | Asia/Singapore |
| Tokyo | Asia/Tokyo |
| Dubai | Asia/Dubai |
| London | Europe/London |
| New York | America/New_York |
Jika ingin melihat seluruh daftar timezone yang tersedia di PHP:
Mengatur Timezone Pada File Konfigurasi PHP (php.ini)
Selain melalui script PHP, Anda juga dapat mengatur timezone lewat file php.ini. Ini berguna jika Anda ingin seluruh aplikasi otomatis menggunakan timezone tertentu.
-
Buka file
php.ini -
Cari baris:
-
Ubah menjadi:
-
Restart server (Apache/Nginx)
Perubahan ini akan berlaku untuk semua script PHP di server tersebut.
Mengatur Timezone Menggunakan Class DateTime
Jika Anda menggunakan class DateTime, Anda dapat menyetel timezone langsung di konstruktor:
Atau mengubah timezone yang sudah ada:
Tips Pengaturan Timezone pada Aplikasi Besar
-
Gunakan timezone UTC di server, lalu konversikan ke timezone user.
-
Simpan timestamp dalam format UTC (
Y-m-d H:i:satau Unix timestamp), supaya konsisten. -
Hindari menggunakan timezone berbasis offset seperti
GMT+7; gunakan format regional (Asia/Jakarta). -
Pastikan database (MySQL/PostgreSQL) juga berada pada timezone yang sama jika diperlukan.
Kesimpulan
Mengatur timezone di PHP adalah langkah penting untuk memastikan aplikasi menampilkan waktu yang benar dan konsisten. PHP menyediakan berbagai cara untuk melakukannya, mulai dari penggunaan fungsi date_default_timezone_set(), konfigurasi php.ini, hingga pengaturan melalui class DateTime.
Dengan pengaturan timezone yang tepat, aplikasi Anda akan lebih akurat dalam mencatat waktu, memproses data, dan memberikan informasi yang sesuai kepada pengguna.
