Just for those that are as stupid as me
for the settings in php.ini and sunrise/sunset after googling for a while if found this info
;`Zenith' is the angle that the centre of the Sun makes to a line perpendicular to the Earth's surface.
;
; The best Overall figure for zenith is 90+(50/60) degrees for true sunrise/sunset
; Civil twilight 96 degrees - Conventionally used to signify twilight
; Nautical twilight 102 degrees - the point at which the horizon stops being visible at sea.
; Astronical twilight at 108 degrees - the point when Sun stops being a source of any illumination.
;
;date.sunrise_zenith = 90.583333 85.4
;date.sunset_zenith = 90.583333 85.4
date_sunrise
(PHP 5)
date_sunrise — Obtiene la hora del amanecer de un día y lugar concretos
Descripción
date_sunrise() devuelve la hora del amanecer de un día (indicado en marca_de_tiempo ) y lugar concretos. Los par´metros latitud , longitud y cenit tienen unos valores por defecto iguales a las opciones de configuración date.default_latitude, date.default_longitude y date.sunrise_zenith respectivamente.
El valor de latitud se interpreta por defecto respecto del Norte. Si se quiere especificar un valor respecto del Sur, se debe pasar un valor negativo. Igualmente, longitude se interpreta por defecto referido al Este (y se debe emplear un valor negativo para referenciarlo respecto del Oeste).
El parámetro diferencia_gmt se indica en horas.
| Constante | Descripción | Ejemplo |
|---|---|---|
| SUNFUNCS_RET_STRING | Devuelve la hora del amanecer como una variable de tipo string | 16:46 |
| SUNFUNCS_RET_DOUBLE | Devuelve el resultado como una variable de tipo float | 16.78243132 |
| SUNFUNCS_RET_TIMESTAMP | Devuelve el resultado como una variable de tipo integer (es decir, una marca de tiempo) | 1095034606 |
Example #1 Ejemplo de date_sunrise()
<?php
/* Calcula la hora del amanecer de Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Diferencia horaria: +1 GMT
*/
echo date("D M d Y"). ', hora del amanecer : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
El resultado del ejemplo seria algo similar a:
Mon Dec 20 2004, hora del amanecer : 08:54
Vea también date_sunset().
date_sunrise
25-Apr-2008 10:47
02-Dec-2004 03:41
The way to use this:
<?php
// De Bilt, The Netherlands, weather station #06260
$lat = 52.10; // North
$long = 5.18; // East
$offset = 1; // difference between GMT and local time in hours
$zenith=90+50/60;
echo "<br><p>Sunrise: ".date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
echo "<br>Sunset: ".date_sunset(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
$zenith=96;
echo "<br><p>Civilian Twilight start: ".date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
echo "<br>Civilian Twilight end: ".date_sunset(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
$zenith=102;
echo "<br><p>Nautical Twilight start: ".date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
echo "<br>Nautical Twilight end: ".date_sunset(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
$zenith=108;
echo "<br><p>Astronomical Twilight start: ".date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
echo "<br>Astronomical Twilight end: ".date_sunset(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
?>
Zenith according to the U.S. Navy's 1990 Almanac for Computers.
Thanks to George King.
More sources about this topic:
http://www.qarlos.free.fr/navegacion/Sextante/formulas.htm
http://williams.best.vwh.net/sunrise_sunset_algorithm.htm
http://www.kevinboone.com/suntimes.html
http://star-www.st-and.ac.uk/~fv/webnotes/chapt12.htm
