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 thoughts on “Mengatasi Perbedaan Waktu PHP Server dengan Lokal

      1. roni

        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”

      Tinggalkan Balasan

      Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *