現在の位置: ホーム> 最新記事一覧> 毎月毎日日没時間を取得する方法の例

毎月毎日日没時間を取得する方法の例

M66 2025-05-31

多くのアプリケーションでは、天文学、地理、またはライフスタイルを含む一部のアプリケーションにとって、毎日の日没時間を取得することは非常に重要です。たとえば、一部のアプリは、サンセットタイムに基づいてタスクをスケジュールしたり、夜間のアクティビティを開始したときにユーザーに思い出させる場合があります。この記事では、PHPを使用して、詳細なコードの例を使用して、毎月全体の日没時間を取得する方法について説明します。

日没時間の基本原則を取得します

日没時間の取得は通常、天文学的なアルゴリズムを使用して計算されます。一般的なアプローチは、 SunCalc Libraryを使用することです。これは、経度と緯度を通じて特定の場所の上昇時間と上昇時間を計算するためのツールです。 SunCalc APIにリクエストを送信することで、毎日の日没時間を取得できます。

この投稿では、APIを呼び出してPHPコードを使用してこのデータの処理方法を示すことにより、特定の場所の日没時間を取得します。

PHPコードの例

以下は、APIを介して指定された場所の日没時間を取得する方法を示すPHPコードの例です。毎日1か月間日没時間を取得し、出力します。ここでは、ターゲット位置の緯度と経度が知られていると仮定します。

 <?php

// ターゲット位置の緯度と経度を設定します
$latitude = 40.7128;  // 例えば:ニューヨークの緯度
$longitude = -74.0060; // 例えば:ニューヨークの経度

// ターゲットAPI URL,置き換えます m66.net ドメイン名
$url = "https://api.m66.net/sunrise-sunset?lat=$latitude&lng=$longitude&date=today&formatted=0";

// 今月の夕日を取得してください
function getSunsetTimes($latitude, $longitude) {
    // 今月
    $currentMonth = date('m');

    // 毎日夕日を保管してください
    $sunsetTimes = [];

    // 毎日の日没の時間を取得してください
    for ($day = 1; $day <= 31; $day++) {
        // フォーマット日
        $date = date('Y-m') . '-' . str_pad($day, 2, '0', STR_PAD_LEFT);

        // リクエストを作成しますURL
        $apiUrl = "https://api.m66.net/sunrise-sunset?lat=$latitude&lng=$longitude&date=$date&formatted=0";

        // 始めるAPI聞く
        $response = file_get_contents($apiUrl);

        // 応答が有効かどうかを確認してください
        if ($response === FALSE) {
            echo "Error fetching data for $date\n";
            continue;
        }

        // 分析JSON応答
        $data = json_decode($response, true);

        // 日没の時間を取得します
        if (isset($data['results']['sunset'])) {
            $sunsetTimes[$date] = $data['results']['sunset'];
        } else {
            echo "No sunset data available for $date\n";
        }
    }

    return $sunsetTimes;
}

// 関数を呼び出し、結果を出力します
$sunsetTimes = getSunsetTimes($latitude, $longitude);

echo "夕日は次のとおりです:\n";
foreach ($sunsetTimes as $date => $sunsetTime) {
    echo "$date: $sunsetTime\n";
}

?>

コード解析

  1. 緯度と経度の設定:コードでは、ニューヨークの緯度と経度を設定します(40.7128、-74.0060)。必要に応じて、他の場所の緯度と経度を変更できます。

  2. APIリクエストhttps://api.m66.net/sunrise-sunsetにリクエストを送信することにより、特定の日付の日没時間を取得します。 APIの応答はJSON形式で返されるため、 json_decode関数を使用して応答データを解析することに注意してください。

  3. 夕日を取得する:ループすることで、今月の毎日の日没時間を取得し、 $ sunsettimesアレイに保存し、最終的に結果を出力します。

  4. 日付のフォーマット日付()関数を使用して今月を取得し、 YMD形式の日付をフォーマットします。

  5. 出力結果:最後に、コードは毎日の日没時間を出力します。特定の日にデータがない場合(たとえば、APIによって返される結果が空です)、エラーメッセージが出力されます。

要約します

この記事とコードの例を使用すると、1か月を通して指定された場所の毎日の日没時間を簡単に入手できます。緯度と経度を調整し、API要求のURLが正しいことを確認し、任意の場所と日付の範囲に適用できることを確認してください。この方法は、気象関連のアプリケーションだけでなく、農業、観光、または日差し情報を必要とするその他のシナリオにも適しています。

この記事があなたに役立つことを願っています。ご質問がある場合は、お気軽にお問い合わせください!