Dans PHP, StrtoTime () et Date_sunset () sont deux fonctions très utiles qui peuvent aider les développeurs à gérer les dates, les temps et à calculer les temps de coucher du soleil. Cet article montrera comment utiliser ces deux fonctions pour calculer le temps restant entre l'heure actuelle et le coucher du soleil d'aujourd'hui.
La fonction StrtoTime () est une fonction utilisée pour analyser la description de la date-heure du texte anglais dans un horodatage Unix. Il accepte une chaîne de date et renvoie un horodatage UNIX correspondant.
La fonction date_sunset () est utilisée pour obtenir l'heure du coucher du soleil de la latitude et de la longitude spécifiées. Le temps où il revient est généralement donné sous la forme d'un horodatage Unix, indiquant le moment du coucher du soleil de la journée.
Nous pouvons combiner strtotime () et date_sunset () pour calculer les secondes restantes entre l'heure actuelle et l'heure du coucher du soleil d'aujourd'hui. Voici un exemple de code complet:
<?php
// Définir le fuseau horaire
date_default_timezone_set('Asia/Shanghai');
// Obtenez l'horodatage actuel
$current_time = time();
// Obtenez l'horodatage du coucher du soleil d'aujourd'hui
$latitude = 31.2304; // Latitude de Pékin
$longitude = 121.4737; // Longitude à Pékin
$sunset_time = date_sunset($current_time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
// Calculez le temps restant(Deuxième)
$time_difference = $sunset_time - $current_time;
// Sortie du temps restant
if ($time_difference > 0) {
echo "Il y a encore du coucher de soleil aujourd'hui " . gmdate("H:i:s", $time_difference) . " Deuxième。";
} else {
echo "Le temps du coucher du soleil d'aujourd'hui est passé。";
}
?>
Définition du fuseau horaire <br> Nous utilisons date_default_timezone_set ('Asie / Shanghai') pour nous assurer que l'heure est calculée en fonction du fuseau horaire correct.
Obtenez l'horodatage actuel <br> Utilisez la fonction Time () pour obtenir l'horodatage Unix de l'heure actuelle.
Obtenez l'horloge du coucher du soleil
La fonction date_sunset () renvoie l'heure du coucher du soleil de l'emplacement spécifié. En spécifiant la latitude et la longitude (en utilisant la latitude et la longitude de Pékin ici), nous pouvons obtenir le temps du coucher du soleil d'aujourd'hui. Le paramètre SUNFUNCS_RET_Timestamp indique à PHP qu'il renvoie un horodatage.
Calculez le décalage horaire <br> Nous soustrayons l'horodatage du coucher du soleil avec le horodatage actuel pour savoir combien de secondes il y a de maintenant au coucher du soleil.
Sortie du temps restant <br> Utilisez gmdate ("h: i: s", $ time_différence) pour formater le temps restant, avec la sortie comme heures, minutes et secondes.
La fonction date_sunset () renvoie un horodatage UTC, il est donc nécessaire de s'assurer que le fuseau horaire est correctement défini pour éviter les écarts pendant les calculs.
La latitude et la longitude dans le code doivent être modifiées en fonction de l'endroit où vous vous trouvez, afin que vous puissiez obtenir le bon temps de coucher de soleil.
En combinant StrtoTime () et Date_sunset () , nous pouvons facilement calculer le temps restant à partir du coucher du soleil d'aujourd'hui. Cette méthode est très adaptée aux applications qui nécessitent des tâches à effectuer en fonction de Sunset Time, telles que les applications météorologiques, les outils de gestion des horaires, etc.