La fonction date_sunset dans PHP est utilisée pour obtenir l'heure du coucher du soleil d'une certaine date et emplacement. Il calcule le temps de coucher du soleil en fonction d'une latitude, d'une longitude et d'une date données. Habituellement, cette fonction renvoie un horodatage UNIX, qui est le nombre de secondes du 1er janvier 1970 à l'heure spécifiée.
La syntaxe de base de la fonction date_sunset est la suivante:
<span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(time, format, latitude, longitude, zenith, gmt_offset);
</span></span>
Temps : facultatif, horodatage, par défaut à l'heure actuelle.
Format : format de résultat. Peut être sunfuncs_ret_timestamp (Timestamp Unix, par défaut), Sunfuncs_ret_string (renvoie un temps de format de chaîne, tel que '6:00 PM'), SUNFUNCS_RET_DOUBLE (retourne à l'angle de coucher du soleil).
Latitude et longitude : doit être fournie, respectivement, sont la latitude et la longitude de l'emplacement du coucher du soleil.
Zenith : Facultatif, l'angle de zénith du soleil est généralement de 90,5 degrés, indiquant l'angle du soleil au coucher du soleil.
GMT_OFFSET : Facultatif, décalage du fuseau horaire, la valeur par défaut est 0.
Sunfuncs_ret_timestamp (par défaut)
Si le paramètre de format est défini sur Sunfuncs_ret_timestamp (ou non passé), la fonction renvoie un horodatage Unix, c'est-à-dire le nombre de secondes de minuit le 1er janvier 1970 à Sunset.
Exemple:
<span><span><span class="hljs-variable">$sunset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_TIMESTAMP, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$sunset</span></span><span>;
</span></span>
Le résultat de retour sera un nombre représentant un horodatage UNIX.
Sunfuncs_ret_string
Si le paramètre de format est défini sur Sunfuncs_ret_string , une chaîne de temps formatée est renvoyée, généralement une représentation de temps de 12 heures (par exemple, «18h00»).
Exemple:
<span><span><span class="hljs-variable">$sunset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_STRING, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$sunset</span></span><span>;
</span></span>
La production peut être similaire à 18h30 , indiquant l'heure du coucher du soleil à New York.
Sunfuncs_ret_double
Si le paramètre de format est réglé sur Sunfuncs_Ret_Double , une valeur décimale flottante est retournée pour indiquer l'angle de hauteur du soleil. La valeur de retour est généralement négative, indiquant que le soleil est en dessous de l'horizon, et plus la valeur absolue de la valeur est élevée, plus le soleil est faible.
Exemple:
<span><span><span class="hljs-variable">$sunset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_DOUBLE, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$sunset</span></span><span>;
</span></span>
La valeur de retour peut être une décimale flottante, telle que -0,934 , indiquant l'angle du soleil sous l'horizon.
Étant donné que le résultat renvoyé par date_sunset peut être des données dans différents formats, la méthode d'analyse correcte dépend du paramètre de format que vous utilisez.
Si vous utilisez Sunfuncs_Ret_timestamp , c'est-à-dire que le résultat renvoyé est un horodat Unix, vous pouvez le convertir en un format de date et d'heure lisible via la fonction de date .
Exemple:
<span><span><span class="hljs-variable">$sunset_timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_TIMESTAMP, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$sunset_timestamp</span></span><span>);
</span></span>
Cela sortira un format DateTime standard, tel que 2025-06-16 19:45:00 .
Si vous utilisez SUNFUNCS_RET_STRING , il renvoie une chaîne de temps formatée que vous pouvez sortir directement ou traiter plus loin.
Exemple:
<span><span><span class="hljs-variable">$sunset_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_STRING, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The sunset time is: "</span></span><span> . </span><span><span class="hljs-variable">$sunset_string</span></span><span>;
</span></span>
Cela sortira un résultat similaire à l'heure du coucher du soleil est: 18h30 .
Si vous utilisez Sunfuncs_ret_Double , vous pouvez juger l'angle de hauteur du soleil par la valeur flottante retournée. Cette valeur est généralement un nombre négatif, ce qui signifie que le soleil s'est couché.
Exemple:
<span><span><span class="hljs-variable">$sunset_angle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_DOUBLE, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Sunset angle: "</span></span><span> . </span><span><span class="hljs-variable">$sunset_angle</span></span><span>;
</span></span>
La valeur de retour sera une décimale, comme -0,934 , indiquant l'angle du soleil.
La fonction date_sunset est très utile, surtout lorsque vous devez obtenir le temps de coucher du soleil en fonction de la latitude et de la longitude d'un certain emplacement. Le format de données qu'il renvoie dépend de la valeur du paramètre de format , qui peut être un horodatage UNIX, une chaîne de temps formatée ou un angle d'altitude du soleil. Afin d'analyser correctement la valeur de retour, vous devez le convertir ou l'afficher en utilisant la fonction appropriée en fonction du format que vous choisissez.
En maîtrisant ces usages de base, vous pouvez traiter plus facilement les données de temps de coucher du soleil en PHP, qu'il s'agisse d'un rappel au coucher du soleil, d'une prévision météorologique ou de calculs astronomiques, qui peuvent fournir une aide efficace.