現在の位置: ホーム> 最新記事一覧> Cronタイミングスクリプトと組み合わせて、毎日定期的に夕日時間を押してください

Cronタイミングスクリプトと組み合わせて、毎日定期的に夕日時間を押してください

M66 2025-06-02

Cronタイミングスクリプトを組み合わせて、毎日PHPのDate_Sunsetを使用して取得した日没時間を定期的にプッシュするにはどうすればよいですか?

いくつかの時間ベースのプッシュシステムを開発するとき、私たちはしばしばタイミングタスクを使用して、いくつかの操作を自動的に実行します。たとえば、特定の領域の日没時間を定期的に取得し、指定されたインターフェイスまたはユーザーにプッシュできます。この記事では、PHPのdate_sunset関数をCronタイミングタスクと組み合わせて使用​​して、日没時間を毎日定期的に押す機能を実現します。

1。日没の時間を取得します

まず、PHPのdate_sunset関数を使用して、日没時間を取得する必要があります。この関数は、緯度、経度、タイムスタンプなどのパラメーターを取り、日没時間を返します。

 <?php
// タイムゾーンを設定します
date_default_timezone_set('Asia/Shanghai');

// 緯度と経度を定義します
$latitude = 39.9042; // 北京の緯度
$longitude = 116.4074; // 北京の経度

// 日没の時間を取得します(による Unix タイムスタンプが戻ってきます)
$sunset = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);

// サンセット時間を読み取り可能な形式にフォーマットします
$sunset_time = date("Y-m-d H:i:s", $sunset);
echo "今日の夕日: " . $sunset_time;
?>

2。Cronタイミングタスクと組み合わせた

毎日定期的に日没の時間を押し出したいので、このPHPスクリプトを実行するには、 Cronタイミングされたタスクを使用する必要があります。

2.1 PHPスクリプトの書き込み

日没時間を取得するためのPHPコードが既にあり、 send_sunset_time.phpなどのPHPスクリプトにこのコードを記述する必要があります。スクリプトにプッシュコードを追加して、指定されたURLに日没時間をプッシュすることができます。

 <?php
// タイムゾーンを設定します
date_default_timezone_set('Asia/Shanghai');

// 緯度と経度を定義します
$latitude = 39.9042;
$longitude = 116.4074;

// 日没の時間を取得します
$sunset = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
$sunset_time = date("Y-m-d H:i:s", $sunset);

// 指定された日没時間をプッシュします URL(それを想定してください API インタフェース)
$api_url = 'https://m66.net/api/send_sunset_time'; // 実際のものと交換してください URL
$data = array(
    'sunset_time' => $sunset_time
);

// 使用 cURL 送信 POST 聞く
$ch = curl_init($api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

$response = curl_exec($ch);
curl_close($ch);

if ($response) {
    echo "日没の時間は正常にプッシュされました: " . $sunset_time;
} else {
    echo "プッシュが失敗しました";
}
?>

2.2 Cronタイミングタスクのセットアップ

Cronは、Linuxシステムの下のタイミングされたタスクスケジューラです。 Crontabを編集して、PHPスクリプトを毎日実行するように設定できます。

  1. Crontabファイルを開きます:

     crontab -e
    
  2. 行を追加して、指定された時間に毎日(たとえば、毎日午後6時に)実行するようにスクリプトを設定します。

     0 18 * * * /usr/bin/php /path/to/your/script/send_sunset_time.php
    

    このコマンド行の意味は、毎日18:00にsend_sunset_time.phpスクリプトを実行します。

  3. Crontabファイルを保存して終了すると、タイムされたタスクが有効になります。

3.完全な実装

上記の手順を通じて、PHPの使用を実装して日没時間を取得し、今回はCronタイミングタスクを介して指定されたURLにプッシュしました。

システムが実行されるたびに、システムは現在の日付の日没時間を自動的に取得し、URLにプッシュします(上記のコードでは、URLはM66.NETに置き換えられました)。これは、当日の日没の時間を関連するシステムに定期的に押し上げるのに役立ちます。

要約します

PHPのdate_sunset関数を通じて、日没時間を簡単に取得できます。 Cronタイミングタスクと組み合わせることで、この情報を毎日固定時間にプッシュできます。この方法は、天気予報、日の出、日没のリマインダーなど、時間ベースのプッシュシステムで広く使用できます。