date_sun_info

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

date_sun_infoRetourne un tableau avec les informations sur le lever/coucher du soleil ainsi que le début et la fin de l'aube

Description

date_sun_info(int $timestamp, float $latitude, float $longitude): array

Liste de paramètres

timestamp

Horodatage Unix.

latitude

Latitude, en degrés.

longitude

Longitude, en degrés.

Valeurs de retour

Retourne un tableau en cas de succès ou false si une erreur survient. La structure du tableau est détaillé dans la liste suivante :

sunrise
L'horodatage du levé du soleil (angle de zenith = 90°35').
sunset
L'horodatage du coucher du soleil (angle de zenith = 90°35').
transit
L'horodatage où le soleil est à son zénith, c'est-à-dire a atteint son point le plus haut.
civil_twilight_begin
Le début de l'aube civile (angle de zenith = 96°). Il termine au sunrise.
civil_twilight_end
La fin du crépuscule civil (angle de zenith = 96°). Elle commence au sunset.
nautical_twilight_begin
Le début de l'aube nautique (angle de zenith = 102°). Il termine au civil_twilight_begin.
nautical_twilight_end
La fin du crépuscule nautique (angle de zenith = 102°). Elle commence a civil_twilight_end.
astronomical_twilight_begin
Le début de l'aube astronomique (angle de zenith = 108°). Il termine au nautical_twilight_begin.
astronomical_twilight_end
La fin du crépuscule astronomique (angle de zenith = 108°). Elle commence a nautical_twilight_end.

Les valeurs des éléments du tableau sont soit des timestamps UNIX, false, si le soleil est sous le zenith respectif pour la journée entière, ou true, si le soleil est au dessus du zenith respectif pour toute la journée.

Historique

Version Description
7.2.0 Le calcul a été corrigé en tenant compte du minuit local au lieu du midi local, ce qui modifie légèrement les résultats.

Exemples

Exemple #1 Exemple avec date_sun_info()

<?php
$sun_info 
date_sun_info(strtotime("2006-12-12"), 31.766735.2333);
foreach (
$sun_info as $key => $val) {
  echo 
"$key: " date("H:i:s"$val) . "\n";
}
?>

L'exemple ci-dessus va afficher :

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Exemple #2 Nuit polaire

<?php
var_dump
(date_sun_info(strtotime("2017-12-21"), 900));
?>

L'exemple ci-dessus va afficher :

array(9) {
  ["sunrise"]=>
  bool(false)
  ["sunset"]=>
  bool(false)
  ["transit"]=>
  int(1513857490)
  ["civil_twilight_begin"]=>
  bool(false)
  ["civil_twilight_end"]=>
  bool(false)
  ["nautical_twilight_begin"]=>
  bool(false)
  ["nautical_twilight_end"]=>
  bool(false)
  ["astronomical_twilight_begin"]=>
  bool(false)
  ["astronomical_twilight_end"]=>
  bool(false)
}

Exemple #3 Soleil de minuit

<?php
var_dump
(date_sun_info(strtotime("2017-06-21"), 900));
?>

L'exemple ci-dessus va afficher :

array(9) {
  ["sunrise"]=>
  bool(true)
  ["sunset"]=>
  bool(true)
  ["transit"]=>
  int(1498046510)
  ["civil_twilight_begin"]=>
  bool(true)
  ["civil_twilight_end"]=>
  bool(true)
  ["nautical_twilight_begin"]=>
  bool(true)
  ["nautical_twilight_end"]=>
  bool(true)
  ["astronomical_twilight_begin"]=>
  bool(true)
  ["astronomical_twilight_end"]=>
  bool(true)
}

Voir aussi

  • date_sunrise() - Retourne l'heure de lever du soleil pour un jour et un endroit donnés
  • date_sunset() - Retourne l'heure de coucher du soleil pour un jour et un endroit donnés