Position actuelle: Accueil> Derniers articles> Comment utiliser date_sunset () sur différentes latitudes et longitudes

Comment utiliser date_sunset () sur différentes latitudes et longitudes

M66 2025-05-31

Dans PHP, nous pouvons utiliser la fonction date_sunset () pour calculer l'heure du coucher du soleil. Cette fonction est très utile, en particulier dans les applications impliquant des emplacements géographiques, tels que les applications météorologiques, la planification des voyages ou l'observation astronomique. Cet article présentera comment calculer le temps de coucher du soleil en fonction de différentes latitudes et longitudes, et fournira des scénarios d'application pertinents basés sur ces informations.

Quelle est la fonction date_sunset () ?

DATE_SUNSET () est une fonction PHP intégrée qui calcule l'heure du coucher du soleil à la date spécifiée et la latitude et la longitude. La signature de cette fonction est la suivante:

 date_sunset ( int $timestamp , int $format , float $latitude , float $longitude , float $zenith = 90.5 , float $gmt_offset = 0 )
  • $ horodatage : horodatage (l'horodatage actuel peut être obtenu en utilisant la fonction Time () ).

  • $ format : le format de sortie peut être date_rss (par défaut) ou date_atom , etc.

  • $ latitude : latitude (valeur flottante, nombre négatif indique l'hémisphère sud).

  • $ longitude : longitude (valeur flottante, nombre négatif indique l'hémisphère occidental).

  • $ Zenith : La hauteur astronomique du soleil, la valeur par défaut est de 90,5.

  • $ gmt_offset : décalage du fuseau horaire, la valeur par défaut est 0.

Calculer l'heure du coucher du soleil à l'aide de la fonction date_sunset ()

Supposons que vous ayez un ensemble de latitude et de longitude et que vous souhaitez calculer le temps de coucher du soleil d'un lieu, l'exemple de code suivant montre comment procéder:

 <?php
// Régler la latitude et la longitude(Par exemple, la latitude et la longitude de Pékin)
$latitude = 39.9042; // latitude
$longitude = 116.4074; // longitude

// Obtenez l&#39;horodatage actuel
$timestamp = time();

// Calculez l&#39;heure du coucher du soleil,Utilisation du format DATE_RSS
$sunset = date_sunset($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude);

// Résultats de calcul de sortie
echo "Temps de coucher: " . $sunset;
?>

Expliquez le code

  1. Définir la latitude et la longitude : dans le code ci-dessus, nous avons utilisé la latitude et la longitude de Pékin (39,9042 ° N, 116,4074 ° E). Vous pouvez le remplacer par la latitude et la longitude de n'importe quelle ville ou emplacement au besoin.

  2. Timestamp : obtenez l'horodatage actuel via la fonction Time () .

  3. Calculez l'heure du coucher du soleil : calculer l'heure du coucher du soleil via la fonction date_sunset () , et le format de valeur de retour est le format date_rss , qui est un format d'heure standard.

  4. Résultat de sortie : le temps de coucher du soleil calculé par sortie d'écho .

Comment calculer le temps de coucher du soleil basé sur différentes latitudes et longitudes?

Si vous souhaitez calculer les temps de coucher de soleil de plusieurs emplacements en fonction de différentes latitudes et longitudes, elle peut être réalisée par des boucles. Par exemple, nous avons un groupe de villes et leur latitude et leur longitude:

 <?php
// 定义一个包含城市经latitude的数组
$cities = [
    'Beijing' => [39.9042, 116.4074],
    'New York' => [40.7128, -74.0060],
    'London' => [51.5074, -0.1278],
    'Sydney' => [-33.8688, 151.2093],
];

// Obtenez l&#39;horodatage actuel
$timestamp = time();

// Traverser circulairement chaque ville,Calculez l&#39;heure du coucher du soleil
foreach ($cities as $city => $coords) {
    $latitude = $coords[0];
    $longitude = $coords[1];
    
    // Calculez l&#39;heure du coucher du soleil
    $sunset = date_sunset($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude);
    
    // 输出每个城市的Temps de coucher
    echo "{$city} 的Temps de coucher: " . $sunset . "<br>";
}
?>

résultat

Ce code calculera le temps de coucher du soleil de chaque ville à son tour et le sortira vers une page Web. La sortie peut être similaire à:

 Beijing 的Temps de coucher: Sun, 26 Apr 2025 18:38:00 +0000
New York 的Temps de coucher: Sun, 26 Apr 2025 19:45:00 +0000
London 的Temps de coucher: Sun, 26 Apr 2025 19:30:00 +0000
Sydney 的Temps de coucher: Sun, 26 Apr 2025 07:20:00 +0000

Choses à noter

  • Problème de fuseau horaire : date_sunset () Renvoie l'heure UTC, vous devrez peut-être l'ajuster en fonction du fuseau horaire de l'emplacement cible.

  • Heure d'été : pendant l'heure d'été, le temps de coucher du soleil est affecté, de sorte que l'écart de l'heure d'été doit être pris en compte lors du calcul.

  • Format de date : le format renvoyé par date_sunset () peut être personnalisé selon les besoins, tels que date_atom ou date_rss , et vous pouvez choisir le format qui vous convient le mieux.

J'espère que cet article vous aidera à mieux comprendre comment utiliser la fonction date_sunset () dans PHP pour calculer le temps de coucher du soleil en fonction de la latitude et de la longitude. Si vous avez d'autres questions, veuillez visiter notre site Web!