date_sun_info
(PHP 5 >= 5.1.2, PHP 7)
date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end
Description
date_sun_info ( int $timestamp , float $latitude , float $longitude ) : array
Parameters
-
timestamp
-
Unix timestamp.
-
latitude
-
Latitude in degrees.
-
longitude
-
Longitude in degrees.
Return Values
Returns array on success or false
on failure. The structure of the array is detailed in the following list:
-
sunrise
- The timestamp of the sunrise (zenith angle = 90°35').
-
sunset
- The timestamp of the sunset (zenith angle = 90°35').
-
transit
- The timestamp when the sun is at its zenith, i.e. has reached its topmost point.
-
civil_twilight_begin
- The start of the civil dawn (zenith angle = 96°). It ends at
sunrise
. -
civil_twilight_end
- The end of the civil dusk (zenith angle = 96°). It starts at
sunset
. -
nautical_twilight_begin
- The start of the nautical dawn (zenith angle = 102°). It ends at
civil_twilight_begin
. -
nautical_twilight_end
- The end of the nautical dusk (zenith angle = 102°). It starts at
civil_twilight_end
. -
astronomical_twilight_begin
- The start of the astronomical dawn (zenith angle = 108°). It ends at
nautical_twilight_begin
. -
astronomical_twilight_end
- The end of the astronomical dusk (zenith angle = 108°). It starts at
nautical_twilight_end
.
The values of the array elements are either UNIX timestamps, false
if the sun is below the respective zenith for the whole day, or true
if the sun is above the respective zenith for the whole day.
Examples
Example #1 A date_sun_info() example
<?php $sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333); foreach ($sun_info as $key => $val) { echo "$key: " . date("H:i:s", $val) . "\n"; } ?>
The above example will output:
sunrise: 05:52:11 sunset: 15:41:21 transit: 10:46:46 civil_twilight_begin: 05:24:08 civil_twilight_end: 16:09:24 nautical_twilight_begin: 04:52:25 nautical_twilight_end: 16:41:06 astronomical_twilight_begin: 04:21:32 astronomical_twilight_end: 17:12:00
Example #2 Polar night
<?php var_dump(date_sun_info(strtotime("2017-12-21"), 90, 0)); ?>
The above example will output:
array(9) { ["sunrise"]=> bool(false) ["sunset"]=> bool(false) ["transit"]=> int(1513857490) ["civil_twilight_begin"]=> bool(false) ["civil_twilight_end"]=> bool(false) ["nautical_twilight_begin"]=> bool(false) ["nautical_twilight_end"]=> bool(false) ["astronomical_twilight_begin"]=> bool(false) ["astronomical_twilight_end"]=> bool(false) }
Example #3 Midnight sun
<?php var_dump(date_sun_info(strtotime("2017-06-21"), 90, 0)); ?>
The above example will output:
array(9) { ["sunrise"]=> bool(true) ["sunset"]=> bool(true) ["transit"]=> int(1498046510) ["civil_twilight_begin"]=> bool(true) ["civil_twilight_end"]=> bool(true) ["nautical_twilight_begin"]=> bool(true) ["nautical_twilight_end"]=> bool(true) ["astronomical_twilight_begin"]=> bool(true) ["astronomical_twilight_end"]=> bool(true) }
See Also
- date_sunrise() - Returns time of sunrise for a given day and location
- date_sunset() - Returns time of sunset for a given day and location
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.date-sun-info.php