Dans de nombreuses applications, il est très important d'obtenir le temps quotidien du coucher du soleil pour certaines applications impliquant l'astronomie, la géographie ou le mode de vie. Par exemple, certaines applications peuvent planifier des tâches en fonction des temps de coucher du soleil ou rappeler aux utilisateurs lorsqu'ils commencent les activités nocturnes. Cet article expliquera comment utiliser PHP pour obtenir l'heure du coucher du soleil de tout le mois tous les jours, avec des exemples de code détaillés.
L'obtention du temps de coucher du soleil est généralement calculée à l'aide d'algorithmes astronomiques. Une approche commune consiste à utiliser la bibliothèque SunCalc , un outil de calcul de la montée et du temps de chute d'un emplacement spécifique à travers la longitude et la latitude. Nous pouvons obtenir l'heure du coucher du soleil de chaque jour en envoyant une demande à l'API SunCalc .
Dans cet article, nous obtiendrons le temps de coucher du soleil d'un emplacement spécifique en appelant une API et utiliserons le code PHP pour montrer comment ces données sont traitées.
Voici un exemple de code PHP qui montre comment obtenir le temps de coucher du soleil d'un emplacement spécifié via l'API. Nous aurons le temps de coucher du soleil tous les jours pendant un mois et le sortions. Ici, nous supposons que la latitude et la longitude de l'emplacement cible sont connues.
<?php
// Définir la latitude et la longitude de l'emplacement cible
$latitude = 40.7128; // Par exemple:La latitude de New York
$longitude = -74.0060; // Par exemple:Longitude à New York
// CibleAPI URL,Remplacer par m66.net nom de domaine
$url = "https://api.m66.net/sunrise-sunset?lat=$latitude&lng=$longitude&date=today&formatted=0";
// Obtenez l'heure du coucher du soleil du mois en cours
function getSunsetTimes($latitude, $longitude) {
// Mois en cours
$currentMonth = date('m');
// Stockez le coucher du soleil tous les jours
$sunsetTimes = [];
// Obtenez l'heure du coucher du soleil de tous les jours
for ($day = 1; $day <= 31; $day++) {
// Date de format
$date = date('Y-m') . '-' . str_pad($day, 2, '0', STR_PAD_LEFT);
// Construire une demandeURL
$apiUrl = "https://api.m66.net/sunrise-sunset?lat=$latitude&lng=$longitude&date=$date&formatted=0";
// CommencerAPIdemander
$response = file_get_contents($apiUrl);
// Vérifiez si la réponse est valide
if ($response === FALSE) {
echo "Error fetching data for $date\n";
continue;
}
// AnalyseJSONréponse
$data = json_decode($response, true);
// Obtenez l'heure du coucher du soleil
if (isset($data['results']['sunset'])) {
$sunsetTimes[$date] = $data['results']['sunset'];
} else {
echo "No sunset data available for $date\n";
}
}
return $sunsetTimes;
}
// Appelez la fonction et la sortie du résultat
$sunsetTimes = getSunsetTimes($latitude, $longitude);
echo "Le temps de coucher du soleil est le suivant:\n";
foreach ($sunsetTimes as $date => $sunsetTime) {
echo "$date: $sunsetTime\n";
}
?>
Définir la latitude et la longitude : dans le code, nous définissons la latitude et la longitude de New York (40.7128, -74.0060). Vous pouvez modifier la latitude et la longitude d'autres endroits au besoin.
Demande de l'API : nous obtenons l'heure du coucher du soleil pour une date spécifique en envoyant une demande à https://api.m66.net/sunrise-sunset . Notez que la réponse de l'API est renvoyée au format JSON, nous utilisons donc la fonction JSON_DECODE pour analyser les données de réponse.
Obtenez le temps de coucher du soleil : par boucle, nous obtenons le temps de coucher du soleil de chaque jour du mois en cours et le stockons dans le tableau $ Sunsettime , et émetz enfin le résultat.
Formatage de date : nous utilisons la fonction date () pour obtenir le mois en cours et formater la date au format YMD .
Résultat de sortie : Enfin, le code sortira l'heure du coucher du soleil de chaque jour. S'il n'y a pas de données un certain jour (par exemple, le résultat renvoyé par l'API est vide), un message d'erreur sera sorti.
Avec cet exemple et l'exemple de code, vous pouvez facilement obtenir les temps de coucher de soleil pour chaque jour d'un emplacement désigné tout au long du mois. Ajustez simplement la latitude et la longitude et assurez-vous que l'URL de la demande de l'API est correcte et peut être appliquée à n'importe quelle plage d'emplacement et de date. Cette méthode convient non seulement aux applications liées aux intempéries, mais aussi à l'agriculture, au tourisme ou à d'autres scénarios qui nécessitent des informations sur le soleil.
J'espère que cet article vous sera utile. Si vous avez des questions, n'hésitez pas à leur poser!