ホームページ >バックエンド開発 >PHPチュートリアル >PHP でアメリカ時間を中国時間に変換する方法は何ですか?
PHP は、Web サイトの開発と動的な Web ページの生成に使用される、一般的に使用されるサーバー側スクリプト言語です。開発プロセスでは、アメリカ時間を中国時間に変換するなど、さまざまなタイムゾーンの時間を変換する必要がある状況に頻繁に遭遇します。次に、アメリカ時間を中国時間に変換するためのいくつかの PHP メソッドを紹介し、具体的なコード例を添付します。
$usDateTime = new DateTime('2023-01-15 10:30:00', new DateTimeZone('America/New_York')); $usDateTime->setTimezone(new DateTimeZone('Asia/Shanghai')); $cnDateTime = $usDateTime->format('Y-m-d H:i:s'); echo "美国时间转换为中国时间:$cnDateTime";
上記のコードは、まずアメリカ時間の DateTime オブジェクトを作成し、アメリカのタイム ゾーンを次のように設定します。 「America /New_York」、次にタイムゾーンを中国の「Asia/Shanghai」に変換し、最後に format() メソッドを通じて変換された時刻をフォーマットして出力します。
$usDateTime = '2023-01-15 10:30:00'; $usTimestamp = strtotime($usDateTime); $cnTimestamp = $usTimestamp + 12 * 3600; // 美国东部时区与中国时区相差12小时 $cnDateTime = date('Y-m-d H:i:s', $cnTimestamp); echo "美国时间转换为中国时间:$cnDateTime";
このコードは、まず米国の時刻文字列をタイムスタンプに変換し、次にそれをタイムスタンプに変換します。タイムゾーンは中国のタイムゾーンとは12時間異なるという原則に基づいて、タイムスタンプは中国時間のタイムスタンプを取得するように調整され、最終的にタイムスタンプは中国時間にフォーマットされ、date()を通じて出力されます。関数。
$usDateTime = new DateTime('2023-01-15 10:30:00', new DateTimeZone('America/New_York')); $usTimeZone = $usDateTime->getTimezone(); $cnTimeZone = IntlTimeZone::createTimeZone('Asia/Shanghai'); $usMilliseconds = $usDateTime->getTimestamp() * 1000; $cnMilliseconds = IntlDateFormatter::formatObject($usTimeZone, $usTimeZone, 'timestamp', null, null, 'yyyy-MM-dd HH:mm:ss', $usMilliseconds); $cnDateTime = date_create_from_format('U', $cnMilliseconds / 1000); echo "美国时间转换为中国时间:".$cnDateTime->format('Y-m-d H:i:s');
このコードは、まず米国時間の DateTime オブジェクトを作成し、米国のタイム ゾーン オブジェクトを取得してから、 IntlTimeZone クラス 中国のタイム ゾーン オブジェクトを取得し、米国時間をミリ秒のタイムスタンプに変換し、次に IntlDateFormatter クラスの formatObject() メソッドを使用して米国時間を中国時間のミリ秒のタイムスタンプに変換します。 、中国時間の DateTime オブジェクトは、date_create_from_format() を通じて生成され、中国時間を出力します。
上記の 3 つの方法により、アメリカ時間を中国時間に変換する機能を実現できます。実際のアプリケーションでは、プロジェクトの要件を満たす特定のニーズに応じて、時間変換に適切な方法を選択できます。
以上がPHP でアメリカ時間を中国時間に変換する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。