Menu Home

date_sunrise

osbo.com | PHP | Functions | date_sunrise

Returns time of sunrise for a given day and location

Syntax

date_sunrise ( int $timestamp [, int $returnFormat = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $utcOffset = 0 ]]]]] ) : mixed

Parameters

timestamp

The timestamp of the day from which the sunrise time is taken.

returnFormat

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 integer (timestamp) 1095034606
latitude

Defaults to North, pass in a negative value for South. See also: date.default_latitude

longitude

Defaults to East, pass in a negative value for West. See also: date.default_longitude

zenith

zenith is the angle between the center of the sun and a line perpendicular to earth's surface. It defaults to date.sunrise_zenith

Angle Description
90°50' Sunrise: the point where the sun becomes visible.
96° Civil twilight: conventionally used to signify the start of dawn.
102° Nautical twilight: the point at which the horizon starts being visible at sea.
108° Astronomical twilight: the point at which the sun starts being the source of any illumination.
utcOffset

Specified in hours. The utcOffset is ignored, if returnFormat is SUNFUNCS_RET_TIMESTAMP.

Return

Returns the sunrise time in a specified returnFormat on success or FALSE on failure. One potential reason for failure is that the sun does not rise at all, which happens inside the polar circles for part of the year.

Examples

timestamp

<?

$timestamp = time();

$return = date_sunrise($timestamp);

echo $return;

?>
02:32

returnFormat | SUNFUNCS_RET_STRING

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_STRING;

$return = date_sunrise($timestamp, $returnFormat);

echo $return;

?>
02:32

returnFormat | SUNFUNCS_RET_DOUBLE

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_DOUBLE;

$return = date_sunrise($timestamp, $returnFormat);

echo $return;

?>
2.5462021373427

returnFormat | SUNFUNCS_RET_TIMESTAMP

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_TIMESTAMP;

$return = date_sunrise($timestamp, $returnFormat);

echo $return;

?>
1624242766

latitude

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_STRING;
$latitude = 44.36;

$return = date_sunrise($timestamp, $returnFormat, $latitude);

echo $return;

?>
01:53

longitude

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_STRING;
$latitude = 44.36;
$longitude = -110.30;

$return = date_sunrise($timestamp, $returnFormat, $latitude, $longitude);

echo $return;

?>
11:35

zenith

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_STRING;
$latitude = 44.36;
$longitude = -110.30;
$zenith = 90.58;

$return = date_sunrise($timestamp, $returnFormat, $latitude, $longitude, $zenith);

echo $return;

?>
11:37

utcOffset

<?

$timestamp = time();
$returnFormat = SUNFUNCS_RET_STRING;
$latitude = 44.36;
$longitude = -110.30;
$zenith = 90.58;
$utcOffset = 1;

$return = date_sunrise($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset);

echo $return;

?>
12:37

No Sunrise

<?

$timestamp = strtotime("2017-12-21");
$returnFormat = SUNFUNCS_RET_STRING;
$latitude = 69.245833;
$longitude = -53.537222;

$return = date_sunrise($timestamp, $returnFormat, $latitude, $longitude);

var_export($return);

?>
false

PHP