Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mencapai Penyegerakan Zon Waktu Antara PHP dan MySQL?

Bagaimana untuk Mencapai Penyegerakan Zon Waktu Antara PHP dan MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-02 09:24:02579semak imbas

How to Achieve Timezone Synchronization Between PHP and MySQL?

Menetapkan Zon Waktu untuk Penyegerakan PHP dan MySQL

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.

Penyelesaian untuk PHP

Untuk PHP, memastikan penyegerakan zon waktu memerlukan langkah berikut:

  • Tetapkan zon waktu lalai :
<code class="php">define('TIMEZONE', 'Europe/Paris');
date_default_timezone_set(TIMEZONE);</code>
  • Gunakan zon waktu tersuai apabila memanggil tarikh():
<code class="php">$finalize_at = date('Y-m-d H:i:s', strtotime('+30 minutes'));</code>

Penyelesaian untuk MySQL

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>

Pengesahan Penyegerakan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn