Sunrise Sunset

Rising and setting times of the Sun and the Moon and twilight times
Updated 24 Sep 2023

View License

Year, month, day, lambda (Geographic east longitude of the observer in [deg]), phi (Geographic latitude of the observer in [deg]), zone (local time - universal time in [hour]) and twilight (Indicates civil, nautical or astronomical twilight) are received, then rising and setting times of the Moon and the Sun and twilight times are computed.
In this version, the positions of the Sun and the Moon are computed using Jet Propulsion Laboratory Development Ephemeris (DE440). Moreover, Earth orientation parameters are not used. So, MJD_ET is utilized as an approximation of MJD_TT and MJD_TDB in SinAlt.m, and MJD_UTC is applied instead of MJD_UT1.
east longitude and latitude of the observer can be found at:
Montenbruck O., Pfleger T.; Astronomy on the Personal Computer; Springer Verlag, Heidelberg; 4th edition (2000).

Cite As

Meysam Mahooti (2024). Sunrise Sunset (, MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

finddays.m and ETminUT.m were added and SinAlt.m was modified.


Quad.m was modified.


test_SunriseSunset.m, SinAlt.m, Mjday.m, and invjday.m were modified, and JPL DE430 was replaced with JPL DE440.

The DE430 full matrix is added.

Description, references and JPL_Eph_DE430.m are updated. Moreover, DE430Coeff.mat full matrix is now available in the following link:

Accuracy is improved by modification of SinAlt.m.

DE405 (planetary and lunar ephemerides) is replaced by DE430.

Revised on 2016-11-28.
Description is updated.
SinAlt.m is updated.
Revised on 2017-02-25.
Revised on November 09, 2016.