File Exchange

image thumbnail

SUNRISE: sunrise and sunset times

version 1.4 (4.69 KB) by François Beauducel
Computes sunrise and sunset times from any geographical location on Earth.


Updated 18 Aug 2019

View License

This function computes sunrise and sunset times from any location on Earth (latitude, longitude and altitude), for a given date and timezone. The function is fully vectorized so any input parameters can be scalars, vectors or matrix (of the same size).

Without any argument, sunrise will try to guess your location (needs internet connection).

NEW: It is also possible to use two reverse functions:
- from the day length, it computes the corresponding latitude;
- from sunrise and sunset date/time it computes the corresponding latitude and longitude.
Both reverse function need altitude as input argument.


To get sunrise/sunset of your current location:
>> sunrise
Location: 48.8582 °N, 2.3387 °E, 0 m
Sunrise: 10-Oct-2017 08:03:41 +02
Sunset: 10-Oct-2017 19:13:49 +02
Day length: 11h 10mn 8s

To compute the latitude corresponding to 14h of daylight at altitude 0m on April 21, 2019:
>> sunrise(14/24,0,'2019-04-21','day2lat')
Estimated latitude: 49.076°N

To compute the latitude and longitude corresponding to specific sunrise and sunset times:
>> sunrise('22-Apr-2019 04:52:12','22-Apr-2019 18:51:04',0,'sun2ll')
Estimated location: 47.9995°N, 2.00142°E

Type help sunrise or doc sunrise to get syntax and full documentation. See the function code for further explanations.

Cite As

François Beauducel (2020). SUNRISE: sunrise and sunset times (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

Louise Wilson


Perfect tool. Thank you so much!


Works perfectly. i need this kind of code lines for my work and thanks to you this one gave me good idea to think what can i add more to code and getting ip from lat and long is nice touch.

massimo vecchio

Jaechan Lim

The reverse functions are great because we can apply the functions for localization estimation based on sensor data from which we can obtain sunset/sunrise time.
Actually, there are many ways that can obtain sunset/sunrise based on coordination and date, but there were not any website talking about this reverse solutions.
I really appreciate the author's work.



- fix an issue in reverse function for western longitudes

improves description

adds reverse functions to compute lat/lon from sunrise/sunset (thanks to a suggestion by Jaechan Lim)

- removes dependency from jsondecode function (for automatic location)
- automatic detection of local timezone (needs Java activated)

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: SOLAR_GUI