PHPでは、 date_sunset()関数を使用して、特定の場所で日没時間のUnixタイムスタンプを取得できます。この機能は、特に気象関連のアプリケーションを開発する場合、または地理的位置に応じてページの明るさを調整する必要がある場合に非常に便利です。しかし、 date_sunset()は普通のユーザーに友好的ではないUNIXタイムスタンプを返します。したがって、HH:MM:SSまたはYMD H:I:Sなどの読みやすい形式に変換する必要があります。
以下に、例を使用して、 date_sunset()の返品値を読みやすい時間形式に変換する方法を示します。
<?php
// デフォルトのタイムゾーンを設定します
date_default_timezone_set("Asia/Shanghai");
// 現在の時間を取得します
$timestamp = time();
// 緯度と経度を指定します(ここで模範として北京を取ります)
$latitude = 39.9042;
$longitude = 116.4074;
// 日没の時間を取得します(リターンです Unix タイムスタンプ)
$sunsetTimestamp = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
// 检查是否成功日没の時間を取得します
if ($sunsetTimestamp !== false) {
// 読みやすい形式に変換します(24時給)
$readableTime = date("H:i:s", $sunsetTimestamp);
echo "今日の夕日はです:$readableTime";
} else {
echo "无法日没の時間を取得します。";
}
?>
今日の夕日はです:18:52:34
date_sunset() sunfuncs_ret_timestampの2番目のパラメーターが鍵であり、PHPにUnixタイムスタンプを返すように指示します。 Sunfuncs_ret_stringを渡してフォーマットされた時間文字列を直接取得することもできますが、手動フォーマットにより多くのカスタムスペースが提供されます。
日付()関数を使用して、UNIXタイムスタンプを希望するほぼすべての時間形式にフォーマットします。
date("Y-m-d H:i:s", $sunsetTimestamp);
これにより、 2025-04-26 18:52:34のようなフルタイムの文字列が返されます。
たとえば、今回はWebページに出力できます。
echo "<p>今日の夕日はです:$readableTime</p>";
または動的なバックグラウンドスイッチングの場合: