Ada dua fungsi pemformatan waktu di PHP: date() dan gmdate(). Deskripsi dalam dokumentasi resmi adalah:
date -- format waktu/tanggal lokal
gmdate -- format tanggal/waktu GMT/UTC, yang dikembalikan adalah Greenwich Waktu Berarti (GMT).
Misalnya, zona waktu kita sekarang adalah +8, maka waktu yang dikembalikan oleh server yang menjalankan skrip berikut akan seperti ini:
Waktu saat ini diasumsikan 14-03-2007 12:15:27
tanggal echo( 'Ymd H:i:s ', time()); Outputnya adalah: 14-03-2007 12:15:27
echo gmdate('Ymd H:i:s', time()); -03-14 04:15:27
Tapi ini hanya hasil menjalankan PHP di Linux+Apache. Jika dijalankan di Windows, kedua fungsi tersebut akan kembali: 14-03-2007 04:15:27.
Oleh karena itu, kita harus memberikan cara penulisan yang kompatibel, menggunakan gmdate secara seragam, dan mengatur zona waktu saat ini secara manual. Metode penulisan ditingkatkan sebagai berikut:
echo gmdate('Ymd H:i:s', time() + 3600 * 8 );
Dengan cara ini, apa pun situasinya di Linux + Hasil yang benar diperoleh di Apache dan Windows, tentu saja, ada keuntungan lain menulis dengan cara ini perlu mengatur zona waktu, dan program akan secara otomatis menghitung waktu berdasarkan zona waktu yang ditetapkan oleh pengguna. Informasi waktu rilis dalam database hanya menyimpan waktu yang dihasilkan oleh waktu saat ini() Zona waktu +8 Tiongkok adalah: 14-03-2007 12:15:27, lalu pengguna di zona waktu +2 Eropa melihat Waktu rilis informasi ini adalah: 14-03-2007 06:15:27, jadi waktu semua informasi akan sesuai dengan benar.