(PHP 5, PHP 7, PHP 8)
date_sunset — Devuelve la hora de puesta del sol para un día y un lugar dados
Esta función está DEPRECADA a partir de PHP 8.1.0. Depender de esta función se desaconseja fuertemente. Se recomienda el uso de date_sun_info() en su lugar.
$timestamp
,$returnFormat
= SUNFUNCS_RET_STRING
,$latitude
= null
,$longitude
= null
,$zenith
= null
,$utcOffset
= null
La función date_sunset() devuelve la hora de puesta
del sol para un día (especificado como timestamp
Unix) y un lugar dados.
timestamp
El timestamp
Unix del día para el cual se proporciona la hora de puesta del sol.
returnFormat
Constante | Descripción | Ejemplo |
---|---|---|
SUNFUNCS_RET_STRING | Devuelve el resultado en forma de string | 16:46 |
SUNFUNCS_RET_DOUBLE | Devuelve el resultado en forma de float | 16.78243132 |
SUNFUNCS_RET_TIMESTAMP | Devuelve el resultado en forma de int (timestamp) | 1095034606 |
latitude
Por omisión, es el Norte. Pase un valor negativo para el Sur. Ver también date.default_latitude.
longitude
Por omisión, es el Este. Pase un valor negativo para el Oeste. Ver también date.default_longitude.
zenith
zenith
es el ángulo entre el
centro del sol y la línea perpendicular a la superficie de la tierra.
Por omisión
date.sunset_zenith
Ángulo | Descripción |
---|---|
90°50' | Puesta del sol: El punto donde el sol se vuelve invisible. |
96° | Crepúsculo civil: convencionalmente utilizado para significar el fin del crepúsculo. |
102° | Crepúsculo náutico: el punto de fin del horizonte siendo visible en el mar. |
108° | Crepúsculo astronómico: el punto donde el sol deja de ser la fuente de toda iluminación. |
utcOffset
Especificado en horas.
El utcOffset
es ignorado, si
returnFormat
es
SUNFUNCS_RET_TIMESTAMP
.
Devuelve la hora de puesta del sol en el returnFormat
especificado o false
en caso de error. Una razón posible del fallo es que
el sol no se pone, lo cual ocurre dentro de los círculos
polares durante parte del año.
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 |
---|---|
8.1.0 | Esta función ha sido marcada como obsoleta en favor de date_sun_info(). |
8.0.0 |
latitude , longitude ,
zenith y utcOffset ahora son nullable.
|
Ejemplo #1 Ejemplo con date_sunset()
<?php
/* Calcula la hora de puesta del sol para Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Zenith ~= 90
offset:1 GMT
*/
echo date("D M d Y"). ', hora de puesta del 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 puesta del sol : 18:13
Ejemplo #2 Sin puesta de sol
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>
El resultado del ejemplo sería:
bool(false)