date_sunset()
date_sunset() — Returns time of sunset for a given day and location.
Built-in function of PHP 8.5. The manual lists it as available in PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
The PHP manual marks this function as deprecated (since PHP 8.1, use date_sun_info() instead): do not use it in new code.
What it does
date_sunset() returns the sunset time for a given day (specified as a timestamp) and location.
Signature
date_sunset(int $timestamp, int $returnFormat = SUNFUNCS_RET_STRING, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $utcOffset = null): string|int|float|false
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $timestamp | int | The timestamp of the day from which the sunset time is taken. |
| $returnFormat | int | returnFormat constants constant description example SUNFUNCS_RET_STRING returns the result as string 16:46 SUNFUNCS_RET_DOUBLE returns the result as float 16.78243132 SUNFUNCS_RET_TIMESTAMP returns the result as int (timestamp) 1095034606 |
| $latitude | ?float | Defaults to North, pass in a negative value for South. See also: date.default_latitude |
| $longitude | ?float | Defaults to East, pass in a negative value for West. See also: date.default_longitude |
| $zenith | ?float | zenith is the angle between the center of the sun and a line perpendicular to earth's surface. It defaults to date.sunset_zenith Common zenith angles Angle Description 90°50' Sunset: the point where the sun becomes invisible. 96° Civil twilight: conventionally used to signify the end of dusk. 102° Nautical twilight: the point at which the horizon ends being visible at sea. 108° Astronomical twilight: the point at ... |
| $utcOffset | ?float | Specified in hours. The utcOffset is ignored, if returnFormat is SUNFUNCS_RET_TIMESTAMP. |
Return value
Returns the sunset time in a specified returnFormat on success or false on failure. One potential reason for failure is that the sun does not set at all, which happens inside the polar circles for part of the year.
Example
A runnable snippet:
/* calculate the sunset time for Lisbon, Portugal Latitude: 38.4 North Longitude: 9 West Zenith ~= 90 offset: +1 GMT */ echo date("D M d Y"). ', sunset time : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
Output:
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 10 Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in script on line 10 Mon Dec 20 2004, sunset time : 18:13
Changelog
| Version | Change |
|---|---|
| 8.1.0 | This function has been deprecated in favor of date_sun_info(). |
| 8.0.0 | latitude, longitude, zenith and utcOffset are nullable now. |
See also
All PHP 8.5 built-in functions
Reference card built from the PHP manual page date_sunset() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.