# date_sunrise

(PHP 5, PHP 7)

date_sunrise — Returns time of sunrise for a given day and location

### Description

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 ]]]]] ) : mixed

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

### Parameters

`timestamp`

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

`format`

  `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

`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

  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.

`gmtoffset`

  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.

### Errors/Exceptions

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()

### Changelog

Version | Description
--- | ---
5.1.0 | Now issues the `E_STRICT` and `E_NOTICE` time zone errors.

### Examples

Example #1 date_sunrise() example

`<?php
/* 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_STRING, 38.4, -9, 90, 1);
?>`

The above example will output something similar to:

    Mon Dec 20 2004, sunrise time : 08:54

Example #2 No sunrise

`<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>`

The above example will output:

    bool(false)

### 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