PHP と MySQL のタイム ゾーン
タイム ゾーン システムを PHP アプリケーションに統合するのは難しい場合がありますが、異なるデータを処理する場合には不可欠です。タイムゾーン。ここでは、最も一般的な問題に対処し、実用的な解決策を提供するための包括的なガイドを示します。
MySQL への日時の保存
日時の変換
夏時間 (DST) の処理
MySQL は DST をネイティブに処理しません。 PHP の DateTimeZone クラスは、ユーザーの場所に基づいて DST を自動的に処理する名前付きタイム ゾーンを提供します。これは、ユーザー向けのタイムスタンプに使用する必要があります。
レガシー データ移行
存在する場合タイムゾーンを考慮せずにデータが挿入された場合は、MySQL の CONVERT_TZ 関数を使用して、選択および更新中にタイムスタンプを修正します。または、UTC に変換してからローカル タイム ゾーンに戻すことでタイムスタンプを更新します。
ユーザー設定のタイム ゾーンの選択
コード例
<?php // Convert PHP datetime to UTC $utc = new DateTime('now', new DateTimeZone('UTC')); // Retrieve a list of named time zones $timezones = DateTimeZone::listIdentifiers(); // Convert to user's time zone (e.g., PST) $pst = new DateTimeZone('America/Los_Angeles'); $utc->setTimezone($pst); // Display converted timestamp echo "UTC: " . $utc->format('Y-m-d H:i:s') . "\n"; echo "PST: " . $utc->format('Y-m-d H:i:s') . "\n"; // Store user's time zone preference $userTimezone = 'America/Los_Angeles'; $query = "UPDATE users SET timezone = '$userTimezone' WHERE ..."; ?>
注: データの不整合を避けるために、タイムスタンプを一貫して保存および変換することが重要です。ユーザーの混乱。これらのガイドラインに従うことで、PHP および MySQL アプリケーションでタイムゾーンを効果的に管理できます。
以上がPHP と MySQL でタイムゾーンを効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。