現在の位置: ホーム> 最新記事一覧> Date_sunset()によって返されたUNIXタイムスタンプを読みやすい時間形式に変換する方法は?

Date_sunset()によって返されたUNIXタイムスタンプを読みやすい時間形式に変換する方法は?

M66 2025-06-15

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>";

または動的なバックグラウンドスイッチングの場合: