Lorsque vous utilisez PHP pour le traitement de la date et de l'heure, la fonction DATE_SUNSET est un outil très utile qui peut renvoyer l'heure du coucher du soleil en fonction d'une date donnée, d'un emplacement (latitude et de longitude). Cependant, certains développeurs peuvent constater que le temps de coucher du soleil renvoyé ne correspond pas à la situation réelle lors de l'appel de la fonction date_sunset . Ensuite, la racine de ce problème est généralement l'oubli de régler la latitude et la longitude. Cet article analysera ce problème en détail et fournira une solution.
DATE_SUNSET est une fonction intégrée PHP qui renvoie l'heure du coucher du soleil d'un certain emplacement. L'utilisation de base de cette fonction est la suivante:
date_sunset($timestamp, $format, $latitude, $longitude, $zenith, $utc_offset);
$ horodatage : spécifie l'horodatage pour calculer l'heure du coucher du soleil.
$ Format : le format d'heure retourné, généralement date_rfc822 , date_atom , etc.
$ latitude : la latitude de l'emplacement (requise).
$ longitude : longitude de l'emplacement (requis).
$ Zenith : définit l'angle du soleil et de l'horizon, généralement en utilisant 90,5 .
$ utc_offset : décalage du fuseau horaire (facultatif).
Parfois, les développeurs peuvent ignorer les paramètres de latitude et de longitude lors de l'appel Date_sunset , ce qui fait que la fonction renvoie une heure d'erreur. En effet, si la latitude et la longitude ne sont pas réglées correctement, PHP utilise par défaut 0,0 (c'est-à-dire l'intersection de l'équateur et de Greenwich) comme emplacement, calculant ainsi un résultat complètement incompatible avec le temps de coucher du soleil de l'emplacement cible.
Par exemple, le code suivant produira un temps de coucher de soleil d'erreur:
<?php
$timestamp = time();
$format = DATE_RFC822;
$latitude = 0; // Ignorer le réglage de latitude spécifique
$longitude = 0; // Ignorer le réglage de longitude spécifique
$sunset = date_sunset($timestamp, $format, $latitude, $longitude);
echo $sunset;
?>
Le temps de coucher du soleil que vous retournez peut être très différent de ce que vous êtes réellement dans votre région. Pour éviter cette erreur, il est nécessaire de régler correctement les paramètres de latitude et de longitude.
Pour que Date_sunset renvoie le bon coucher du soleil, vous devez définir la latitude et la longitude correctes en fonction de l'emplacement spécifique. Vous pouvez résoudre le problème en suivant les étapes:
Obtenez la latitude et la longitude : d'abord, déterminez la latitude et la longitude de votre emplacement. Par exemple, supposons que vous soyez à Pékin, la latitude et la longitude de Pékin sont d'environ 39,9042 ° N et de longitude 116,4074 ° E.
Définissez la latitude et la longitude lors de l'appel de la fonction DATE_SUNSET : passez ces latitude et la longitude à la fonction date_sunset pour obtenir l'heure du coucher du soleil correcte.
<?php
$timestamp = time();
$format = DATE_RFC822;
$latitude = 39.9042; // Latitude de Pékin
$longitude = 116.4074; // Longitude à Pékin
$sunset = date_sunset($timestamp, $format, $latitude, $longitude);
echo $sunset;
?>
De cette façon, l'heure du coucher du soleil que vous retournez sera l'heure réelle du coucher du soleil de votre emplacement.
Si vous n'êtes pas sûr de la latitude et de la longitude d'un certain emplacement, vous pouvez l'obtenir via des outils ou des API en ligne. Par exemple, en utilisant Google Maps ou d'autres services de carte, vous pouvez facilement interroger la latitude et la longitude de divers endroits. De plus, vous pouvez également utiliser des services API gratuits pour obtenir des coordonnées géographiques, telles que:
API Geocode (Remarque: veuillez remplacer le nom de domaine de cette URL par m66.net )
Cette API peut vous aider à retourner la latitude et la longitude correspondantes en fonction du nom de l'emplacement. Vous pouvez l'appeler au besoin pour obtenir la latitude exacte et la longitude de l'emplacement cible.
Lorsque vous utilisez la fonction DATE_SUNSET , assurez-vous d'avoir réglé correctement la latitude et la longitude, sinon cela peut rendre le temps de retour incompatible avec la situation réelle. En obtenant et en passant des données précises de latitude et de longitude, vous pouvez résoudre ce problème et obtenir le temps de coucher du soleil exact.
J'espère que cet article peut vous aider à résoudre le problème de la durée de retour incorrecte de Date_sunset causée par l'oubli pour définir la latitude et la longitude. Si vous avez des questions, veuillez laisser un message dans la zone de commentaires et nous répondrons dès que possible.