Jika zon waktu PHP tidak diubah, masa yang dimasukkan ke dalam pangkalan data dan masa yang diperolehi akan berbeza daripada masa sebenar Penyelesaian: 1. Tukar "data.timezone = PRC" dalam php. ini fail; 2. Tambah "data_default_timezone_set('PRC');".
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.4, komputer DELL G3
Apakah yang akan berlaku jika Zon waktu PHP tidak ditukar?
Jika zon waktu PHP tidak diubah, masa yang dimasukkan ke dalam pangkalan data dan masa yang diperolehi akan berbeza daripada masa sebenar.
Penyelesaian kepada masalah zon waktu yang dihadapi dalam PHP
Baru-baru ini, semasa menulis program kecil menggunakan PHP MySQL, saya menemui masalah: masa yang dimasukkan ke dalam pangkalan data tidak sepadan dengan masa sebenar Perbezaan masa ialah 8 jam, yang konsisten dengan Daerah ke-8 Timur di mana China berada. Memandangkan masa pangkalan data ditulis oleh PHP, masalah berlaku dalam PHP.
Baru-baru ini semasa belajar PHP, saya mendapati bahawa cap waktu yang diformatkan dalam PHP adalah 8 jam lewat daripada waktu Beijing Selepas mencari dalam talian, saya mendapati bahawa zon waktu adalah salah.
1. Pengubahsuaian kekal
Tukar data.timezone = PRC dalam fail php.ini Ini adalah waktu Cina. Ia akan berkuat kuasa selepas memulakan semula perkhidmatan Apache.
2. Pengubahsuaian sementara
Sebelum menggunakan masa input yang diformatkan, tambahkan ini_set('date.timezone','Asia/Shanghai'
atau data_default_timezone_set(' PRC'); );//date_default_timezone_set() fungsi menetapkan zon waktu lalai yang digunakan untuk semua fungsi tarikh/masa dalam skrip.
Lihat masalah yang dihadapi oleh rakan-rakan lain
Terdapat masalah yang tinggal sebelum ini, iaitu masa dikembalikan mengikut tarikh gema("Y-m-d H:i:s", time()) sentiasa sama seperti Masa sebenar tidak sepadan Saya akhirnya menemui sebab dan penyelesaian dalam talian hari ini saya kongsikan seperti berikut:
Selain itu, ikuti petua di bawah untuk mengubah suai php.ini dan tidak dapat mencari. garisan date.timezone. Betul ke? Tiada apa yang boleh anda lakukan, sudah tentu tidak, haha, jika anda tidak mempunyainya, tambahkan sendiri, dan buat sendiri makanan dan pakaian yang mencukupi. Menambah date.timezone = "PRC", masalah selesai, saya gembira
Bermula dari php5.1.0, pilihan date.timezone telah ditambahkan pada php.ini, dan ia ditutup secara lalai
Iaitu, masa yang dipaparkan (tidak kira apa arahan php yang digunakan) adalah Greenwich Mean Time, iaitu betul-betul 8 jam berbeza daripada masa kita (Beijing time) Terdapat tiga kaedah di bawah untuk memulihkan masa biasa.
1. Cara paling mudah adalah dengan tidak menggunakan php5.1 atau lebih tinggi
2 date_default_timezone_set (XXX);
3 ke atas, sekali dan untuk semua, hanya php.ini boleh diubah suai. Buka php.ini dan cari date.timezone Alih keluar titik koma di hadapan
= dan tambahkan XXX pada penghujung perkhidmatan http (seperti apache2 atau iis, dll.)
Pembelajaran yang disyorkan: "Tutorial Video PHP》
Atas ialah kandungan terperinci Apakah yang akan berlaku jika zon waktu php tidak diubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!