Untuk menyimpan tarikh dalam MySQL menggunakan fungsi date() PHP dan membandingkannya menggunakan fungsi NOW() MySQL sambil memfaktorkan perbezaan zon waktu , adalah penting untuk menjajarkan zon waktu untuk kedua-dua alatan.
Untuk PHP, memastikan penyegerakan zon waktu memerlukan langkah berikut:
<code class="php">define('TIMEZONE', 'Europe/Paris'); date_default_timezone_set(TIMEZONE);</code>
<code class="php">$finalize_at = date('Y-m-d H:i:s', strtotime('+30 minutes'));</code>
Untuk menyegerakkan PHP, tetapan zon waktu MySQL mesti dilaraskan juga:
<code class="php">// Get current offset in minutes $now = new DateTime(); $mins = $now->getOffset() / 60; $offset = sprintf('%+d:%02d', -$mins, abs($mins)); // Update MySQL's timezone setting $db = new PDO('mysql:host=localhost;dbname=test', 'dbuser', 'dbpassword'); $db->exec("SET time_zone='$offset';");</code>
Dengan konfigurasi ini, kedua-dua PHP dan MySQL harus menggunakan zon waktu yang sama. Untuk mengesahkan ini, bandingkan output date_default_timezone_get() dan hasil SELECT NOW() dalam pertanyaan MySQL. Jika nama zon waktu sepadan, penyegerakan berjaya.
Ingat untuk menyemak tetapan zon waktu dalam aplikasi anda kerana zon waktu PHP dan MySQL boleh dipengaruhi oleh perubahan dalam tetapan peranti atau pelayan.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Penyegerakan Zon Waktu Antara PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!