使用PHP 的date() 函數在MySQL 中儲存日期,並使用MySQL 的NOW() 函數比較它們,同時考慮時區差異,對齊兩個工具的時區至關重要。
對於PHP,確保時區同步需要執行以下步驟:
<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>MySQL 解決方案與PHP、MySQL 的時區設定也必須調整:
<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>
同步驗證
完成這些設定後,PHP 和MySQL 應該使用相同的時區。若要驗證這一點,請在 MySQL 查詢中比較 date_default_timezone_get() 的輸出和 SELECT NOW() 的結果。如果時區名稱匹配,則同步成功。 請記住檢查應用程式中的時區設置,因為 PHP 和 MySQL 時區可能會受到裝置或伺服器設定變更的影響。以上是如何實作PHP和MySQL的時區同步?的詳細內容。更多資訊請關注PHP中文網其他相關文章!