PHPでは、 date_sunset()関数は、通常はUTC時間(調整されたユニバーサル時間)で、指定された場所の日没時間を返します。このUTC時間を読み取り可能な形式に変換する場合、 GMDATE()関数は、UTC時間を必要な形式に変換する優れたツールです。
この記事では、date_sunset()によって返されるUTCサンセット時間をGMDATE()を使用して読み取り可能な時間にフォーマットする方法について説明します。
まず、日没時間を取得する必要があり、 date_sunset()関数はUTCタイムスタンプを返します。次のサンプルコードは、日没の時間を取得する方法を示しています。
$latitude = 40.730610; // 緯度
$longitude = -73.935242; // 経度
// 現在の日付のサンセットタイムスタンプを入手してください(UTC)
$sunset = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
// サンセットタイムスタンプを印刷します
echo "サンセットタイムスタンプ(UTC):$sunset\n";
GMDATE()関数を介して、返されたUTCタイムスタンプを読み取り可能な形式に変換できます。 gmdate()関数を使用すると、フォーマットを指定し、UTCタイムスタンプを必要な時間文字列に変換できます。
GMDATE()関数を使用して、サンセットタイムスタンプを読み取り可能な時間に変換する方法の例を次に示します。
// 格式化サンセットタイムスタンプ
$formatted_sunset = gmdate("Y-m-d H:i:s", $sunset);
// フォーマットされた時間を印刷します
echo "フォーマットされた夕日(UTC):$formatted_sunset\n";
この例では、 gmdate()はYMD H:i:S形式を使用して日没時間を返します。必要に応じて、日付と時刻の形式を調整できます。
UTC時間をタイムゾーンの現地時間に変換する場合は、 DateTimeクラスを使用して、 DateTimeZoneを使用してタイムゾーンを変換できます。 UTCの日没時間を北京時間に変換する方法を示す例を以下に示します。
// aを作成します DateTime 物体,日没を示します UTC 時間
$datetime_utc = new DateTime("@$sunset"); // 使用 @ 表現のシンボル Unix 時間戳
$datetime_utc->setTimezone(new DateTimeZone('Asia/Shanghai')); // 转换为北京時間
// 格式化并打印本地時間
echo "北京時間日落時間:".$datetime_utc->format("Y-m-d H:i:s")."\n";
Gmdate()を使用して、 Date_sunset()によって返されたUTCサンセットタイムスタンプを読み取り可能な時間形式に変換します。 DateTimeクラスを使用して、UTC時間をローカルタイムゾーンの時間に変換することもできます。これらの簡単な手順を使用すると、サンセットタイムを簡単に取得してフォーマットして、よりフレンドリーで読みやすくすることができます。