Dans PHP, la fonction date_sunset () peut être utilisée pour obtenir l'heure du coucher du soleil à un emplacement spécifié. En utilisant cette fonction, nous pouvons facilement comparer les temps de coucher du soleil pour plusieurs villes et les présenter dans l'ordre. Cet article expliquera comment obtenir des temps de coucher de soleil dans différentes villes via PHP et organiser ces temps dans l'ordre du matin au soir.
Date_sunset () est une fonction intégrée PHP pour obtenir un temps de coucher de soleil. Sa syntaxe de base est la suivante:
date_sunset(time, format, latitude, longitude, zenith, gmt_offset);
Temps : l'horodatage Unix de l'heure actuelle, généralement obtenue en utilisant la fonction Time () .
Format : Renvoie le format de temps, qui peut être Sunfuncs_Ret_timestamp (Renvoie un horodatage), Sunfuncs_ret_string (Renvoie le format de chaîne) ou Sunfuncs_ret_Double (renvoie le nombre d'heures de flottant).
Latitude : la latitude de la ville cible.
Longitude : la longitude de la ville cible.
Zenith : la hauteur standard du coucher du soleil, généralement 90,5 degrés (c'est-à-dire lorsque le soleil entre en contact avec l'horizon).
GMT_Offset : le décalage du fuseau horaire, généralement 0 ou d'autres fuseaux horaires.
Nous pouvons définir leur latitude et leur longitude pour chaque ville et utiliser la fonction date_sunset () pour obtenir leur temps de coucher de soleil. Supposons que nous voulons obtenir les heures du coucher du soleil des villes suivantes: Pékin, New York et Londres.
Voici un exemple de code pour obtenir du temps de coucher de soleil:
<?php
// Définir la latitude et la longitude de chaque ville
$cities = [
"Beijing" => ['latitude' => 39.9042, 'longitude' => 116.4074],
"New York" => ['latitude' => 40.7128, 'longitude' => -74.0060],
"London" => ['latitude' => 51.5074, 'longitude' => -0.1278]
];
// Horodatage actuel
$current_time = time();
// Stockez l'heure du coucher du soleil de chaque ville
$sunset_times = [];
foreach ($cities as $city => $coords) {
// Obtenez le temps de coucher du soleil pour chaque ville,Format comme horodatage
$sunset_timestamp = date_sunset($current_time, SUNFUNCS_RET_TIMESTAMP, $coords['latitude'], $coords['longitude']);
// Store City et Sunset Time dans un tableau
$sunset_times[$city] = $sunset_timestamp;
}
// Triez les temps de coucher du soleil
asort($sunset_times);
// Résultats triés de sortie
echo "Temps de coucher du soleil dans chaque ville(En ordre):\n";
foreach ($sunset_times as $city => $sunset) {
echo $city . " Le temps de coucher du soleil est: " . date("Y-m-d H:i:s", $sunset) . "\n";
}
?>
Définissez la ville et la latitude et la longitude : nous spécifions un tableau pour chaque ville qui contient les informations de latitude et de longitude de la ville.
Obtenez l'heure actuelle : obtenez l'horodatage UNIX actuel via Time () pour calculer l'heure du coucher du soleil.
Loop Pour obtenir le coucher du soleil : utilisez la fonction date_sunset () pour calculer l'heure du coucher du soleil pour chaque ville. Notez que le format SUNFUNCS_RET_TIMESTAMP est utilisé ici pour retourner un horodatage pour un tri ultérieur plus facile.
Trier le coucher du soleil : trier les tableaux dans l'ordre croissant par temps de coucher de soleil via la fonction asort () .
Résultat de sortie : Enfin, l'horodatage est converti en un format de date de date lisible via la fonction Date () , et l'heure du coucher du soleil de chaque ville est sortie dans l'ordre.
En supposant que l'heure actuelle est 2025-04-26 , après avoir exécuté le code ci-dessus, le résultat de sortie sera similaire à:
Temps de coucher du soleil dans chaque ville(En ordre):
New York Le temps de coucher du soleil est: 2025-04-26 19:52:00
London Le temps de coucher du soleil est: 2025-04-26 20:12:00
Beijing Le temps de coucher du soleil est: 2025-04-26 18:45:00
L'heure renvoyée par date_sunset () est basée sur UTC, garantissant qu'elle est convertie à l'heure locale lorsque le résultat est affiché.
Si vous devez prendre en charge l'affichage de plusieurs fuseaux horaires, vous pouvez définir le fuseau horaire via la fonction date_default_timezone_set () .
La précision de la latitude et de la longitude et des fuseaux horaires affecte la précision des résultats, alors assurez-vous d'utiliser des coordonnées de la ville précises.