Mengatasi Perbedaan Waktu PHP Server dengan Lokal

Dalam pemrograman PHP pasti sudah kenal dengan fungsi date() yaitu fungsi untuk mendapatkan informasi waktu (sesuai dengan server).
kamu pasti pernah mengalami hal yang seperti ane alami. Yakni perbedaan waktu antara komputer kita (dengan zona waktu kita) dengan server php ( menggunakan zona waktu US misalnya)

untuk mengecek silakan coba hal berikut:

Jalankan script berikut

<?php
echo date("Y-m-d H:i:s");
?>

apakah hasilnya sama dengan waktu di komputer anda?

Buat programmer php pasti dah gak asing dengan adanya masalah perbedaan waktu server seperti ini, namun buat pemula tentunya akan kebingungan.

Untuk menanggulangi hal ini ada beberapa cara, yaitu

1. Ubah setting di file php.ini
Jika anda pemilik server, dan memiliki hak akses untuk mengubah file php.ini, anda bisa mengubah settingan timezone caranya:
cari baris yang memiliki text “date.timezone” (tanpa tandapetik) dan ganti valuenya menjadi “Asia/Jakarta” lalu save dan restart apache anda.

2. Tambah Script di Setiap SourceCode
jika gak ada hak akses untuk mengubah file php.ini, jangan berkecil hati, masih ada cara yaitu dengan menambahkan script pengaturan timezone di bagian paling atas/sebelum kamu menjalankan perintah date.

<?php
date_default_timezone_set('Asia/Jakara');
date();
?>

3. Menggunakan waktu GMT+timezone
Selain menggunakan cara diatasm sebenarnya ada lagi cara lain (cara ini lebih sering digunakan). cara ini menggunakan cara manual pada PHP dengan menggunakan script

<?
echo gmdate("Y-m-d H:i:s", time()+60*60*7);
?>

Keterangan:
– fungsi gmdate() adalah fungsi untuk mendapatkan informasi waktu GMT/waktu standart

time() adalah berarti waktu 7 jam. karena time() menghasilkan waktu sejak 1 januari 1970 00:00:00

60*60*7 merupakan hasil dari jumlah detik untuk 7 jam. ditambahkan 7 ja karena waktu Indonesia Barat adalah +7 dari waktu GMT.

untuk WITA yang zonawaktunya adalah GMT+8
maka tambahkan 8 jam dari waktu GMT, caranya sama saja.

<?
echo gmdata(“Y-m-d H:i:s”, time()+60*60*8);
?>

semoga informasi ini dapat membantu anda πŸ™‚

15 Comments


  1. tanks infonya.. udah ane coba tapi kaga berhasil. itu kenapa ya???

    Reply

    1. hehehe iya makasih masbro ralatnya πŸ™‚

      Reply

  2. Info yang sangat bagus Mas Adhi…sangat jeli sekali ttg php ini…makasih atas kunjungannya…salam

    Reply

    1. terima kasih sudah mampir pak πŸ˜€

      Reply

  3. server saya di US, gimana cara mengubahnya agar sesuai dengan waktu di indonesia, program saya menyediakan code seperti ini: sudah saya ubah2 tapi gak bisa juga, bisa tolongin mas?

    // Setting time hour for difference GMT to local GMT
    $cfg[‘time’][‘hour’] = “0 0:0:0”; // default “0 0:0:0”

    Reply

  4. Thx gan. Problem solved πŸ™‚

    Reply

  5. thank, berhasil. tapi gimana rubah harinya biar jadi bahasa indonesia, thank. view lapakberita.com

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *