GoLang date_sunrise

request it (254)
GoLang replacement for PHP's date_sunrise [edit | history]

Do you know a GoLang replacement for PHP's date_sunrise? Write it!

PHP date_sunrise

PHP original manual for date_sunrise [ show | php.net ]


(PHP 5, PHP 7)

date_sunriseReturns time of sunrise for a given day and location


mixed date_sunrise ( int $timestamp [, int $format = 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 $gmt_offset = 0 ]]]]] )

date_sunrise() returns the sunrise time for a given day (specified as a timestamp) and location.



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


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


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


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


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

Common zenith angles
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.


Specified in hours. The gmtoffset is ignored, if format is SUNFUNCS_RET_TIMESTAMP.

Return Values

Returns the sunrise time in a specified format 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.


Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT or E_WARNING message if using the system settings or the TZ environment variable. See also date_default_timezone_set()


Version Description

Now issues the E_STRICT and E_NOTICE time zone errors.


Example #1 date_sunrise() example


/* calculate the sunrise time for Lisbon, Portugal
Latitude: 38.4 North
Longitude: 9 West
Zenith ~= 90
offset: +1 GMT

echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING38.4, -9901);


The above example will output something similar to:

Mon Dec 20 2004, sunrise time : 08:54

Example #2 No sunrise

var_dump(date_sunrise($solsticeSUNFUNCS_RET_STRING69.245833, -53.537222));

The above example will output:


See Also

  • date_sunset() - Returns time of sunset for a given day and location
  • date_sun_info() - Returns an array with information about sunset/sunrise and twilight begin/end