Position actuelle: Accueil> Derniers articles> Comment utiliser les fonctions date_sunset () et time () pour implémenter le compte à rebours à Sunset?

Comment utiliser les fonctions date_sunset () et time () pour implémenter le compte à rebours à Sunset?

M66 2025-06-12

Comment utiliser les fonctions date_sunset () et time () pour implémenter le compte à rebours à Sunset?

Dans PHP, nous pouvons utiliser la fonction date_sunset () pour obtenir l'heure du coucher du soleil et combiner la fonction Time () pour implémenter une fonction à compte à rebours. Cet article vous montrera comment obtenir la différence entre l'heure actuelle et l'heure du coucher du soleil à travers ces deux fonctions, afin d'atteindre l'effet du compte à rebours au coucher du soleil.

1. INTRODUCTION À DATE_SUNSET ()

La fonction date_sunset () est utilisée pour obtenir l'heure du coucher du soleil de l'emplacement spécifié. Le format de temps renvoyé est un horodatage UNIX, indiquant le nombre de secondes depuis le 1er janvier 1970. Grâce à cette fonction, nous pouvons obtenir le temps spécifique du coucher du soleil en fonction de la latitude et de la longitude.

Prototype de fonction:

 date_sunset(time, format, latitude, longitude, zenith, dst)
  • Temps : l'heure spécifiée, la valeur par défaut est l'heure actuelle (l'horodatage UNIX de l'heure actuelle peut être obtenu en utilisant la fonction Time () ).

  • Format : le format de sortie peut être le suivant:

    • SUNFUNCS_RET_STRING : Renvoie la chaîne de temps formatée.

    • Sunfuncs_ret_timestamp : Renvoie un horodatage Unix.

  • Latitude : latitude.

  • Longitude : longitude.

  • Zenith : l'angle de zénith du soleil, par défaut à 50 degrés.

  • DST : Si l'heure d'été, la valeur par défaut est considérée, la valeur par défaut est -1 (calculée automatiquement).

2. Fonction Introduction à Time ()

La fonction Time () est utilisée pour obtenir l'horodatage Unix actuel, c'est-à-dire le nombre de secondes de 00:00:00 UTC le 1er janvier 1970 à l'heure actuelle. Lorsque le compte à rebours, nous pouvons obtenir l'heure actuelle dans le temps () et le comparer avec le temps de coucher du soleil.

Prototype de fonction:

 time()

Renvoie l'horodatage Unix de l'heure actuelle.

3. Atteignez le compte à rebours au coucher du soleil

Pour implémenter la fonction à compte à rebours à Sunset, nous pouvons suivre les étapes suivantes:

  1. Obtenez l'heure actuelle.

  2. Obtenez l'heure du coucher du soleil.

  3. Calculez la différence entre l'heure actuelle et l'heure du coucher du soleil.

  4. Convertissez la différence en formats d'heures, de minutes et de secondes.

 <?php
// Régler la latitude et la longitude,Supposons que nous utilisons la latitude et la longitude de Shanghai
$latitude = 31.2304;  // Latitude de Shanghai
$longitude = 121.4737; // Longitude de Shanghai

// Obtenez l&#39;heure actuelle
$current_time = time();

// Obtenez l&#39;heure du coucher du soleil,La valeur de retour estUNIXHorodatage
$sunset_time = date_sunset($current_time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);

// Calculez la différence de compte à rebours
$time_diff = $sunset_time - $current_time;

// Convertir les secondes en heures、minute、Deuxième
$hours = floor($time_diff / 3600);
$minutes = floor(($time_diff % 3600) / 60);
$seconds = $time_diff % 60;

// Compte à rebours de sortie
echo "Il y a encore du coucher du soleil " . $hours . " Heure " . $minutes . " minute " . $seconds . " Deuxième";
?>

4. Analyse de code

  • Tout d'abord, nous définissons la latitude et la longitude de Shanghai à 31.2304, 121.4737 . Vous pouvez remplacer la latitude et la longitude des autres villes en fonction de vos besoins.

  • Utilisez Time () pour obtenir l'horodatage UNIX actuel.

  • Appelez Date_sunset () pour obtenir l'heure du coucher du soleil de l'emplacement spécifié et renvoie un horodatage Unix.

  • Calculez la différence entre l'heure actuelle et l'heure du coucher du soleil et convertissez la différence en heures, minutes et secondes.

  • Enfin, les informations de compte à rebours de sortie.

5. Choses à noter

  • L'heure renvoyée par date_sunset () est l'heure UTC, tandis que l'heure () renvoie l'heure locale, vous devez donc vous assurer que le fuseau horaire est cohérent. Si nécessaire, vous pouvez utiliser date_default_timezone_set () pour définir le fuseau horaire.

  • La fonction de compte à rebours repose sur la précision de la latitude et de la longitude pour vous assurer que vous passez les données de latitude et de longitude correctes.

6. Fonctions étendues

Si vous devez calculer l'heure du coucher du soleil en fonction d'une date spécifique, vous pouvez définir le paramètre d'heure de date_sunset () sur une date et un horodatage spécifiés. Par exemple:

 $custom_date = strtotime('2025-04-26 12:00:00'); // Définir la date et l&#39;heure spécifiées
$sunset_time = date_sunset($custom_date, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);

De cette façon, vous pouvez calculer de manière flexible l'heure du coucher du soleil d'un avenir ou d'un jour passé.

J'espère que cet article vous sera utile et peut vous aider à comprendre comment utiliser les fonctions date_sunset () et time () en php pour implémenter le compte à rebours à Sunset. Si vous avez des questions, n'hésitez pas à laisser un message pour discuter!