Cara Mengatasi Perbedaan waktu dari fungsi date() di PHP
wordstream.com

Cara Mengatasi Perbedaan waktu dari fungsi date() di PHP

U ntuk anda yang masih Pemula dalam dunia pemrograman php pasti selalu bertanya mengapa jam pada saat posting dan jam dikomputer berbeda. padahal waktu penginputan postingan sama dengan waktu di komputer. Ini pernah saya alami sebelumnya dan setelah melakukan googling, saya mendapatkan jawabannya mengenai "Cara Mengatasi perbedaan waktu dengan PHP".

Untuk pengecekannya silahkan di cek berikut ini:

Jalankan script berikut


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


Hasilnya adalah berbeda, lalu bagaimana solusinya?

Untuk mengatasi masalah tersebut ada beberapa cara yang bisa dilakukan, caranya adalah sebagai berikut :

1. Merubah settingan di file php.ini.


Bila anda pemilik server dan memiliki hak akses penuh untuk mengubah file php.ini, anda bisa merubah settingan pada timezone, caranya adalah:
carilah baris yang memiliki text “date.timezone” (tanpa tandapetik) dan ganti valuenya menjadi “Asia/Jakarta” lalu save dan restart apache anda.

2. Tambahkan Script di Setiap SourceCode.


jika anda tidak memiliki hak akses pada server untuk bisa merubah file php.ini, tenang saja, masih ada jalan menuju Petukangan, eh menuju Roma (hihihihi). caranya yaitu dengan menambahkan script pengaturan timezone di bagian paling atas/sebelum kamu menjalankan perintah date.


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


3. Menggunakan waktu GMT+timezone.


Selain menggunakan cara diatas masih ada lagi cara lain (cara ini sekarang saya pakai). 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 zona waktunya 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);
?>


Dengan Cara tersebut diatas masalah perbedaan waktu server dengan komputer akan bisa teratasi.

Selamat mencoba,

referensi : adhit.net