Web アプリケーションでは、正確な時間管理が非常に重要です。日付を効果的に保存して比較するには、PHP コンポーネントと MySQL コンポーネントの両方にタイムゾーンを設定することが不可欠です。コンソールを手動で調整せずにこれを実現する方法を見てみましょう。
PHP の場合は、date_default_timezone_set() 関数を目的のタイムゾーン文字列で使用します:
<code class="php">define('TIMEZONE', 'Europe/Paris'); date_default_timezone_set(TIMEZONE);</code>
PHP から MySQL タイムゾーンを動的に設定するには、次の手順に従います。
<code class="php">$now = new DateTime(); $mins = $now->getOffset() / 60; $sgn = ($mins < 0 ? -1 : 1); $mins = abs($mins); $hrs = floor($mins / 60); $mins -= $hrs * 60; $offset = sprintf('%+d:%02d', $hrs*$sgn, $mins); // Database Connection Sample $db = new PDO('mysql:host=localhost;dbname=test', 'dbuser', 'dbpassword'); $db->exec("SET time_zone='$offset';");</code>
これにより、現在の PHP タイムゾーンに基づいてオフセットが作成され、MySQL 接続に設定されます。
これらの構成を実装すると、PHP と MySQL の両方が日付の処理と比較に同じタイムゾーンを使用するようになります。これにより、タイムゾーンの不一致によって生じる不一致が排除され、アプリケーションの時間管理プロセスが合理化されます。
以上がPHP と MySQL で一貫した時間管理を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。