Aller au contenu

date_sunset()

Introduction

Bienvenue dans notre guide complet sur la fonction PHP date_sunset(). Dans ce guide, nous couvrirons tous les aspects de date_sunset() et ses utilisations. Notre objectif est de vous fournir les informations les plus approfondies et utiles possibles, afin que vous puissiez mieux comprendre comment utiliser cette fonction dans vos projets PHP.

Note : date_sunset() a été dépréciée dans PHP 8.0 et supprimée dans PHP 8.1. Pour les applications PHP modernes, envisagez d'utiliser la classe DateTime avec des calculs de fuseau horaire ou des API météo externes.

Qu'est-ce que la fonction PHP date_sunset() ?

La fonction PHP date_sunset() est une fonction intégrée qui renvoie l'heure du coucher du soleil pour une date et un lieu spécifiques. Cette fonction calcule l'heure du coucher du soleil en fonction de la date spécifiée, de la latitude et de la longitude du lieu, et du zénith. Le zénith est l'angle mesuré à partir de la verticale (tout droit vers le haut). La valeur par défaut de 90,83 prend en compte la réfraction atmosphérique et le crépuscule civil.

La fonction date_sunset() renvoie l'heure du coucher du soleil au format horodatage Unix, qui correspond au nombre de secondes écoulées depuis le 1er janvier 1970. Ce format est utile car il peut être facilement converti en d'autres formats de date et d'heure à l'aide d'autres fonctions de date et d'heure de PHP.

Syntaxe de la fonction PHP date_sunset()

La syntaxe de la fonction PHP date_sunset() est la suivante :

Syntaxe de la fonction PHP date_sunset()

php
date_sunset ( time [, format [, latitude [, longitude [, zenith [, gmt_offset ]]]]] )

Paramètres :

  • time : L'horodatage Unix représentant la date pour laquelle l'heure du coucher du soleil doit être calculée. Si ce paramètre n'est pas spécifié, l'heure actuelle sera utilisée.
  • format : Le format dans lequel l'heure du coucher du soleil doit être renvoyée. Ce paramètre est optionnel et sa valeur par défaut est "H:i".
  • latitude : La latitude du lieu pour lequel l'heure du coucher du soleil doit être calculée. Ce paramètre est optionnel et sa valeur par défaut est 0.
  • longitude : La longitude du lieu pour lequel l'heure du coucher du soleil doit être calculée. Ce paramètre est optionnel et sa valeur par défaut est 0.
  • zenith : L'angle du zénith pour lequel l'heure du coucher du soleil doit être calculée. Ce paramètre est optionnel et sa valeur par défaut est 90,83, qui correspond au zénith pour le crépuscule civil.
  • gmt_offset : Le décalage GMT pour le lieu pour lequel l'heure du coucher du soleil doit être calculée. Ce paramètre est optionnel et sa valeur par défaut est 0.

Exemple d'utilisation de la fonction PHP date_sunset()

L'exemple suivant illustre l'utilisation de la fonction pour les environnements PHP hérités (PHP 7.x et antérieurs) :

Exemple d'utilisation de la fonction PHP date_sunset()

php
<?php
date_default_timezone_set('UTC');
$date = strtotime("2023-03-03");
$sunset_time = date_sunset($date, SUNFUNCS_RET_TIMESTAMP, 37.7749, -122.4194, 90.83);
echo "The sunset time on March 3, 2023, in San Francisco is ".date("H:i", $sunset_time);
?>

Sortie :


console
The sunset time on March 3, 2023, in San Francisco is 18:12

Migration vers une version moderne de PHP

Étant donné que date_sunset() a été supprimée dans PHP 8.1, les applications modernes devraient migrer vers une bibliothèque astronomique dédiée ou une API externe. La classe intégrée DateTime de PHP gère les fuseaux horaires et le formatage, mais ne calcule pas les positions du soleil. Pour une solution autonome, utilisez un package Composer tel que sunrise-sunset ou geo-sun. Sinon, interrogez une API fiable de lever/coucher du soleil et analysez la réponse.

Exemple de modèle de migration à l'aide d'une bibliothèque dédiée :

php
// Requires: composer require sunrise-sunset/sunrise-sunset
use SunriseSunset\SunriseSunset;
use SunriseSunset\Location;

$location = new Location(37.7749, -122.4194);
$date = new DateTime('2023-03-03', new DateTimeZone('UTC'));
$sun = new SunriseSunset($location, $date);

echo "Sunset: " . $sun->getSunset()->format('H:i');

Comment utiliser la fonction PHP date_sunset() dans vos projets

La fonction PHP date_sunset() est un outil puissant qui peut être utilisé dans une grande variété de projets PHP. Voici quelques exemples de son utilisation :

  1. Applications météo : Si vous développez une application météo, vous pouvez utiliser la fonction PHP date_sunset() pour afficher l'heure du coucher du soleil pour un lieu donné.
  2. Applications de photographie : Si vous développez une application de photographie, vous pouvez utiliser la fonction PHP date_sunset() pour calculer la « heure dorée » pour un lieu donné. L'« heure dorée » est la période juste après le lever du soleil ou juste avant le coucher du soleil, lorsque l'éclairage est optimal pour la photographie.
  3. Applications d'événements : Si vous développez une application d'événements, vous pouvez utiliser la fonction PHP date_sunset() pour afficher l'heure du coucher du soleil pour une date et un lieu donnés. Cela peut être utile pour les événements en plein air programmés pour se terminer au coucher du soleil.

Conclusion

Bien que date_sunset() ait rempli sa fonction dans les anciennes versions de PHP, le développement moderne privilégie les bibliothèques astronomiques dédiées ou les API externes pour des calculs précis de la position du soleil. La migration vers ces approches garantit la compatibilité avec PHP 8.1+ et fournit des résultats plus fiables pour les applications météo, de photographie et d'événements.

Pratique

Que fait la fonction date_sunset en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.