PHP: date_sunrise() function


The date_sunrise() function is used to get the time of sunrise for a given day and location.


(PHP 4 and above)


date_sunrise(timestamp, format, latitude, longitude, zenith, gmt_offset)


Name Description Required /
timestamp The timestamp of the day. Required Integer
format Sets the format of the output.

Use SUNFUNCS_RET_STRING if you want the output as string (example 16:46)

Use UNFUNCS_RET_DOUBLE if you want the output as float (example 16.78243132)

Use SUNFUNCS_RET_TIMESTAMP if you want the output as integer (example 1095034606)
Optional Float
latitude Indicates the latitude of a location Use a negative value for South. Default is North. Optional Float
longitude Indicates the longitude of a location. Use a negative value for West. Default is East. Optional Float
zenith Solar zenith angle. Optional Float
gmt_offset Difference between GMT and local time in hours. For example, since the difference between GMT and Calcutta-India is five and half hours, therefore for IST, use 5.50. Optional Float

Return value:

The sunrise time in a specified format on success, or FALSE on failure.

Value Type: Mixed*

*Mixed : Mixed indicates multiple (but not necessarily all) types.


//Calculate the sunrise time for Kolkata, India
//Latitude: 22.34 North
//Longitude: 88.24 East
//Zenith ~= 45.6177°
//offset: +5.50 GMT
echo("Date: " . date("D M d Y") . "<br />");
echo("Sunrise time: ");

Sample Output:

Date: Tue Jan 18 2011
Sunrise time: 06:18

Note: Since sunrise time depends on particular day and location, therefore, the output may vary shown under Output of the example in this tutorial.

View the in the browser

See also

PHP Function Reference

Previous: date_default_ timezone_set
Next: date_sunset

PHP: Tips of the Day

PHP: Anonymous recursive PHP functions

In order for it to work, you need to pass $factorial as a reference

$factorial = function( $n ) use ( &$factorial ) {
    if( $n == 1 ) return 1;
    return $factorial( $n - 1 ) * $n;
print $factorial( 5 );

Ref : https://bit.ly/38dj7jm