Bonjour à tous.
D'abord merci à Bisûnûrs qui m'a guidé afin que je puisse poster au bon endroit.
Préambule: Comme je l'ai dit dans ma présentation, j'ai créé un site internet pour l'association dont j'étais membre.
J'utilise Notepad++ et je code toujours en local avant la mise à jour du site. Pour cela, j'utilise Wampserver - 3-3-2 - 64 bits. (Version PHP 8.3.0 et date.timezone = Europe/Paris).
A l'origine, le site était codé en HTML+CSS mais, rapidement, cela n'a pas été suffisant, notamment quand il s'agit d'afficher la date, l'heure de manière dynamique (ou presque).
Puis il m'a été demandé d'afficher les heures de lever et de coucher du soleil. Là, je me suis tourné vers les fonctions "date_sunrise" et date_sunset". Le résultat était le suivant:
Mais, dernièrement, WAMP m'a renvoyé une erreur (voir ci-dessous):
En effet, si je configure Wamp avec la version PHP 8.0.30 tout va bien. Mais si je le configure en version PHP 8.3.0 j'ai l'erreur indiquant que ces fonctions sont obsolètes depuis la version PHP 8.1.0. (selon https://www.php.net).
Afin d'être en phase avec les évolutions des serveurs, j'ai donc entrepris d'apprendre à me servir de la nouvelle fonction date_sun_info () qui revoie un tableau avec de nombreuses valeurs. Sauf erreur de ma part, les deux premières m'intéressent (lever et coucher du soleil).
J'ai donc écrit le petit essai suivant:
Mais ce code me retourne des résultats totalement erronés, sur les heures de lever et coucher de soleil:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php date_default_timezone_set('Europe/Paris');//au cas où le serveur ne serait pas configuré pour la zone Europe/Paris. $Cejour = date("Y-m-d"); $heure = date("H:i"); $sun_info = date_sun_info(strtotime('$Cejour'), 44.7904, -1.1556); $Lever = date("H:i", $sun_info['sunrise']); $Coucher = date("H:i", $sun_info['sunset']); echo "Date: ", $Cejour;//pour vérification echo "<br>"; echo "heure locale: ",$heure;//pour vérification echo "<br>"; echo "Lever du soleil: ", $Lever;//Faux: 07:18. echo "<br>"; echo "Coucher du soleil: ", $Coucher;//Faux: 20:55. ?>
.
Il y a quelque chose qui doit m'échapper. Cela va vous paraître absurde mais il y a plusieurs jours que je tourne et retourne le problème dans ma tête sans trouver la solution.
Si, parmi vous, il y a quelqu'un qui peut m'aider, je lui en serai très reconnaissant.
D'avance merci,
Sean_Bx
Partager