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>
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 中国語 Web サイトの他の関連記事を参照してください。