PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

date_time_set> <date_sunrise
Last updated: Fri, 26 Dec 2008

view this page in

date_sunset

(PHP 5)

date_sunset Obtiene la hora del atardecer de un día y lugar concretos

Descripción

mixed date_sunset ( int $marca_de_tiempo [, int $formato [, float $latitud [, float $longitud [, float $cenit [, float $diferencia_gmt ]]]]] )

date_sunset() devuelve la hora del atardecer 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.

Constantes de formato
Constante Descripciónn Ejemplo
SUNFUNCS_RET_STRING Devuelve la hora del atardecer 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_sunset()

<?php

/* Calcula la hora del atardecer de Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Diferencia horaria: +1 GMT
*/

echo date("D M d Y"). ', hora del atardecer : ' .date_sunset(time(), SUNFUNCS_RET_STRING38.4, -9901);

?>

El resultado del ejemplo seria algo similar a:

Mon Dec 20 2004, hora del amanecer : 18:13

Vea también date_sunrise().



add a note add a note User Contributed Notes
date_sunset
michael at dayah dot com
30-Sep-2006 02:17
I use an IP to location database to determine the visitor's approximate latitude and longitude and then serve them a day or night color scheme based on whether it is before civil dawn or dusk. I've had problems when not specifying the timezone, specifically a 1 hour error, so I use GMT.

<?php
date_default_timezone_set
("GMT");

function
scheme() {
       
$sunrise = date_sunrise(time(), SUNFUNCS_RET_DOUBLE, $latitude, $longitude, 96, 0);
       
$sunset = date_sunset(time(), SUNFUNCS_RET_DOUBLE, $latitude, $longitude, 96, 0);
       
$now = date("H") + date("i") / 60 + date("s") / 3600;

        if (
$sunrise < $sunset)
                if ((
$now > $sunrise) && ($now < $sunset)) return "day";
                else return
"night";
        else
                if ((
$now > $sunrise) || ($now < $sunset)) return "day";
                else return
"night";
}
?>
djwice at [the same] dot com
02-Dec-2004 10:39
A 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);

?> 

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

date_time_set> <date_sunrise
Last updated: Fri, 26 Dec 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites