yes SUNFUNCS_RET_TIMESTAMP does return GMT(0) time
so something like...
$arr = localtime(date_sunset(time(),SUNFUNCS_RET_TIMESTAMP,51.5,0)); // London
$hh = $arr[2];
$mm = $arr[1];
Will give figure out your localtime and daylight saving (BST)
(PHP 5, PHP 7, PHP 8)
date_sunset — Devuelve la hora de la puesta de sol de un día y ubicación dados
$timestamp
,$format
= SUNFUNCS_RET_STRING,$latitude
= ini_get("date.default_latitude"),$longitude
= ini_get("date.default_longitude"),$zenith
= ini_get("date.sunset_zenith"),$gmt_offset
= 0
date_sunset() devuelve la hora de la puesta de sol para un día
(especificado como timestamp
) y ubicación dados.
timestamp
La marca de tiempo timestamp
del día del que se va a tomar
la puesta de sol.
format
constante | descripción | ejemplo |
---|---|---|
SUNFUNCS_RET_STRING | devuelve el resultado como string | 16:46 |
SUNFUNCS_RET_DOUBLE | devuelve el resultado como float | 16.78243132 |
SUNFUNCS_RET_TIMESTAMP | devuelve el resultado como integer (timestamp) | 1095034606 |
latitude
La latitud, por defecto a Norte, y como valor negativo a Sur.
Vea también: date.default_latitude
longitude
La longitud, por defecto a Este, y como valor negativo a Oeste.
Vea tambien: date.default_longitude
zenith
El cénit, por defecto: date.sunset_zenith
gmtoffset
El índice GMT especificado en horas.
Cada vez que se llame a una función de fecha/hora se generará un E_NOTICE
si la zona horaria no es válida, y/o un mensaje E_STRICT
o E_WARNING
si se emplea la configuración del sistema o la variable global
TZ. Véase también date_default_timezone_set()
Versión | Descripción |
---|---|
5.1.0 |
Ahora muestra un error |
Devuelve la hora de la puesta de sol en un formato format
especificado
si se tuvo éxito o false
en caso de error.
Ejemplo #1 Ejemplo de date_sunset()
<?php
/* calcular la puesta de sol para Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Índice: +1 GMT
*/
echo date("D M d Y"). ', hora de la puesta de sol : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
El resultado del ejemplo sería algo similar a:
Mon Dec 20 2004, hora de la puesta de sol : 18:13
yes SUNFUNCS_RET_TIMESTAMP does return GMT(0) time
so something like...
$arr = localtime(date_sunset(time(),SUNFUNCS_RET_TIMESTAMP,51.5,0)); // London
$hh = $arr[2];
$mm = $arr[1];
Will give figure out your localtime and daylight saving (BST)
maybe I am wrong, but I think
SUNFUNCS_RET_TIMESTAMP return GMT(0) time
SUNFUNCS_RET_STRING Return local time
SUNFUNCS_RET_DOUBLE Return local time
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";
}
?>