Bonjour,

Comme indiqué, je cherche à indiquer les heures du lever/coucher du soleil pour un lieu donné.

J'ai commencé par ça :

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
 
// Phoenix
date_default_timezone_set('America/Phoenix'); 
$target_time_zone = new DateTimeZone('America/Phoenix');
$kolkata_date_time = new DateTime('now', $target_time_zone); // GMT
$resultat_Phoenix = $kolkata_date_time->format('P');
 
 
echo '<p>'.date("D M d Y"). ', Lever Phoenix : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 33.4514, -112.0738, 90, $resultat_Phoenix).'<br>
Résultat sur <a href="https://www.google.fr/search?q=lever+soleil+phoenix+az&ie=utf-8" target="_blank">Google</a><br>
Résultat sur <a href="http://www.sunrise-and-sunset.com/fr/sun/etats-unis/phoenix__az" target="_blank">sunrise-and-sunset.com</a></p>';
 
echo '<p>'.date("D M d Y"). ', Coucher  Phoenix : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 33.4514, -112.0738, 90, $resultat_Phoenix).'<br>
Résultat sur <a href="https://www.google.fr/search?q=coucher+soleil+phoenix&ie=utf-8" target="_blank">Google</a><br>
Résultat sur <a href="http://www.sunrise-and-sunset.com/fr/sun/etats-unis/phoenix__az" target="_blank">sunrise-and-sunset.com</a></p>';
Ce qui est correcte et qui donne comme résultat pour le mercredi 15/02/2017 :
  1. Lever 07:13
  2. Coucher 18:11


Ou cela se complique, c'est qu'avec d'autres lieux, cela ne fonctionne pas.

Exemples :

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
18
19
20
21
22
23
24
 
// Sedona
date_default_timezone_set('America/Phoenix'); 
$target_time_zone = new DateTimeZone('America/Phoenix');
$kolkata_date_time = new DateTime('now', $target_time_zone); // GMT
$resultat_Sedona = $kolkata_date_time->format('P');
 
 
echo '<p>'.date("D M d Y"). ', Lever Sedona : ' .date_sunrise($time, SUNFUNCS_RET_STRING, 34.854, -111.7951, 90, $resultat_Sedona).'</p>';
echo '<p>'.date("D M d Y"). ', Coucher  Sedona : ' .date_sunset($time, SUNFUNCS_RET_STRING, 34.854, -111.7951, 90, $resultat_Sedona).'<br>
Résultat sur <a href="http://www.sunrise-and-sunset.com/fr/sun/etats-unis/sedona" target="_blank">sunrise-and-sunset.com</a></p>';
 
// Los Angeles
date_default_timezone_set('America/Los_Angeles'); 
$target_time_zone = new DateTimeZone('America/Los_Angeles');
$kolkata_date_time = new DateTime('now', $target_time_zone); // GMT
$resultat_Los_Angeles = $kolkata_date_time->format('P');
 
echo '<p>'.date("D M d Y"). ', Lever LOS ANGELES : ' .date_sunrise($time, SUNFUNCS_RET_STRING, 34.3, -118.14, 90, $resultat_Los_Angeles).'<br>
Résultat sur <a href="https://www.google.fr/search?q=lever+soleil+los+angeles&ie=utf-8" target="_blank">Google</a><br>
Résultat sur <a href="http://www.sunrise-and-sunset.com/fr/sun/etats-unis/los-angeles" target="_blank">sunrise-and-sunset.com</a></p>';
echo '<p>'.date("D M d Y"). ', Coucher  LOS ANGELES : ' .date_sunset($time, SUNFUNCS_RET_STRING, 34.3, -118.14, 90, $resultat_Los_Angeles).'<br>
Résultat sur <a href="https://www.google.fr/search?q=coucher+soleil+los+angeles&ie=utf-8" target="_blank">Google</a><br>
Résultat sur <a href="http://www.sunrise-and-sunset.com/fr/sun/etats-unis/los-angeles" target="_blank">sunrise-and-sunset.com</a></p>';
Ce qui n'estpas correcte et qui donne comme résultat pour le mercredi 15/02/2017 :

Pour Sedona

  1. Lever 07:38 alors que le bon résultat est 07:13
  2. Coucher 17:23 alors que le bon résultat est 18:09


Idem pour Los Angeles :

  1. Lever 07:01 alors que le bon résultat est 06:38
  2. Coucher 16:50 alors que le bon résultat est 17:36


Quelqu'un pourrait-il m'expliquer pourquoi cela fonctionne dans le premier exemple avec Phoenix et pas dans le second avec Sedona (poutant en Arizona comme Phoenix) et Los Angeles ?

Merci d'avance à ceux qui prendront le temps de me répondre