Position actuelle: Accueil> Derniers articles> Comment obtenir l'heure du coucher du soleil d'une date spécifiée à l'aide de la fonction date_sunset () en php?

Comment obtenir l'heure du coucher du soleil d'une date spécifiée à l'aide de la fonction date_sunset () en php?

M66 2025-06-29

Dans PHP, la fonction date_sunset () est utilisée pour obtenir l'heure du coucher du soleil d'une date et d'un lieu spécifiés. Ceci est très utile pour développer des applications liées aux prévisions météorologiques, à la planification quotidienne ou à la géographie. Ci-dessous, nous expliquerons en détail comment utiliser cette fonction et donner un exemple pratique.

Utilisation de base de la fonction date_sunset ()

Le prototype de base de la fonction date_sunset () est le suivant:

 date_sunset ( int $timestamp , int $returnFormat = SUNFUNCS_RET_STRING , float $latitude , float $longitude , float $zenith = 90.5 , float $gmt_offset = 0 )

Description du paramètre:

  • $ horodatage : ce paramètre représente l'horodatage spécifié. Si l'horodatage que vous transmettez est une date future, la fonction renverra le futur temps de coucher du soleil.

  • $ returnformat : ce paramètre détermine le format renvoyé. La valeur par défaut est sunfuncs_ret_string , ce qui signifie le format de chaîne de retour (par exemple, "18:30:00"). Vous pouvez également choisir de retourner un format horodat-circuit Unix ou de renvoyer un tableau avec le temps.

  • $ latitude et $ longitude : ces deux paramètres spécifient la latitude et la longitude de la position d'observation. Avec ces paramètres, PHP est capable de calculer le temps de coucher du soleil à un emplacement spécifique.

  • $ Zenith : Ce paramètre représente la position astronomique du soleil. La valeur par défaut est de 90,5, indiquant l'angle astronomique du coucher du soleil. Vous pouvez ajuster cette valeur au besoin.

  • $ gmt_offset : ce paramètre indique la différence de temps avec GMT, et la valeur par défaut est 0.

Exemple de code: Obtenez l'heure du coucher du soleil pour la date spécifiée

L'exemple de code suivant montre comment utiliser la fonction date_sunset () pour obtenir l'heure du coucher du soleil à une date spécifiée (par exemple "2025-04-25") à un emplacement spécifique (par exemple, Pékin).

 <?php
// Définir le fuseau horaire
date_default_timezone_set('Asia/Shanghai');

// Entrez la date et la latitude et la longitude(Latitude et longitude de Pékin)
$date = '2025-04-25';
$latitude = 39.9042; // Latitude de Pékin
$longitude = 116.4074; // Longitude de Pékin

// Convertir la date en horodatage
$timestamp = strtotime($date);

// utiliser date_sunset() Obtenez l&#39;heure du coucher du soleil
$sunset = date_sunset($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude);

// Temps de coucher de soleil
echo "Date spécifiée:$date Le temps de coucher du soleil est:$sunset";
?>

Code d'analyse:

  1. Définir le fuseau horaire : nous définissons le fuseau horaire sur "Asie / Shanghai" via la fonction date_default_timezone_set () pour s'assurer que le calcul de temps est correct.

  2. Date et emplacement : Nous avons spécifié une date (25 avril 2025) et la latitude et la longitude de Pékin.

  3. Convertir l'horodatage : utilisez la fonction strToTime () pour convertir une chaîne de date en horodatage.

  4. Call date_sunset () : Cette fonction calcule le temps de coucher du soleil en fonction de l'horodatage, de la latitude et de la longitude et d'autres paramètres donnés. Ici, nous choisissons de retourner le format de chaîne.

  5. Temps de coucher du soleil de sortie : Enfin, sortez le temps de coucher du soleil calculé.

Résultat de sortie:

Si vous exécutez le code ci-dessus, la sortie ressemblera à:

 Date spécifiée:2025-04-25 Le temps de coucher du soleil est:18:31:00

Plus de format de retour

date_sunset () prend également en charge différents formats de retour, selon le paramètre $ returnformat que vous transmettez. En plus de Sunfuncs_ret_string (format de chaîne), vous pouvez également utiliser les constantes suivantes:

  • Sunfuncs_ret_timestamp : Renvoie le format horodomagien Unix.

  • Sunfuncs_ret_array : Renvoie un tableau contenant du temps de coucher et des informations connexes.

Par exemple, utilisez Sunfuncs_ret_timestamp pour retourner le format d'horodatage Unix:

 $sunset_timestamp = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
echo "Unix Temps de coucher de soleil au format horodat:$sunset_timestamp";

Notes:

  • La fonction date_sunset () ne fonctionne pas pour toutes les dates. Si la date donnée ne peut pas calculer l'heure du coucher du soleil (comme l'été ou l'hiver dans les régions polaires), les faux peuvent être retournés.

  • Le choix de latitude et de la longitude est très important car le temps de coucher du soleil dépend de votre emplacement géographique.