Dans PHP, Date_sunset () est une fonction très pratique qui peut être utilisée pour calculer le temps de coucher du soleil du soleil en fonction des dates spécifiées, des emplacements géographiques et d'autres paramètres. Cet article présentera comment utiliser cette fonction pour obtenir le temps de coucher du soleil sous Greenwich Time (GMT) et donner des exemples de son utilisation spécifique.
date_sunset(
int $timestamp,
int $format = SUNFUNCS_RET_STRING,
?float $latitude = ini_get("date.default_latitude"),
?float $longitude = ini_get("date.default_longitude"),
float $zenith = ini_get("date.sunset_zenith"),
float $gmt_offset = ini_get("date.default_timezone") // PHP 8.1+ Supprimé
): string|int|float|false
Cependant, dans une utilisation réelle, les méthodes d'appel courantes sont plus simples, en particulier dans PHP 8.0 et ci-dessous.
Le temps de Greenwich (GMT) correspond à la longitude 0 , et nous pouvons choisir une latitude de 51,4769 (c'est-à-dire près de l'observatoire de Greenwich au Royaume-Uni) par exemple. Le point clé consiste à définir GMT_Offset sur 0 , de sorte que le temps renvoyé soit le temps GMT.
<?php
// Définissez l'horodatage actuel sur 12:00 PM
$timestamp = strtotime('today noon');
// Emplacement de Greenwich
$latitude = 51.4769;
$longitude = 0.0005;
// utiliser date_sunset Obtenir GMT Le temps de coucher du soleil ci-dessous(Heure de retour au format de chaîne)
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90, // zenith valeur par défaut,一般utiliser 90
0 // GMT Le décalage est 0
);
echo "Temps de GreenwichLe temps de coucher du soleil ci-dessous为: $sunset";
?>
Exemple de sortie (selon la date actuelle):
Temps de GreenwichLe temps de coucher du soleil ci-dessous为: 19:58
Modifications de PHP 8.1+ : Depuis PHP 8.1, le paramètre GMT_Offset a été supprimé, de sorte que le décalage GMT ne peut pas être spécifié directement. Si vous utilisez PHP 8.1 ou version ultérieure, il est recommandé de définir le fuseau horaire par défaut sur UTC .
Pratiques recommandées (PHP 8.1+) :
<?php
date_default_timezone_set('UTC');
$timestamp = strtotime('today noon');
$latitude = 51.4769;
$longitude = 0.0005;
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90
);
echo "Temps de Greenwich(UTC)Le temps de coucher du soleil ci-dessous为: $sunset";
?>
Format de résultat : vous pouvez utiliser Sunfuncs_Ret_timestamp pour obtenir des horodatages Unix, ou utiliser Sunfuncs_ret_Double pour obtenir le format de point flottant (heures, par exemple 19.58).
Grâce à la fonction date_sunset () , vous pouvez facilement obtenir l'heure du coucher du soleil de n'importe quel emplacement géographique sous une date spécifiée. Si vous souhaitez obtenir Greenwich Time (GMT), la clé consiste à définir la latitude et la longitude sur les coordonnées près de l'Observatoire de Greenwich et définir le décalage du fuseau horaire sur 0 (ou définissez le fuseau horaire par défaut sur UTC) .