Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
SolarEclipse
  • See Also
    • LunarEclipse
    • NewMoon
    • LunationNumber
    • FromLunationNumber
    • SunPosition
    • MoonPosition
    • AstroSubpoint
    • StarData
    • MoonPhase
    • PlanetaryMoonData
  • Related Guides
    • Astronomical Computation & Data
    • People & History
    • See Also
      • LunarEclipse
      • NewMoon
      • LunationNumber
      • FromLunationNumber
      • SunPosition
      • MoonPosition
      • AstroSubpoint
      • StarData
      • MoonPhase
      • PlanetaryMoonData
    • Related Guides
      • Astronomical Computation & Data
      • People & History

SolarEclipse[]

gives the date of the next solar eclipse.

SolarEclipse[date]

gives the date of the next solar eclipse after the specified date.

SolarEclipse[prop]

gives the value of property prop for the next solar eclipse.

SolarEclipse[date,prop]

gives the value of property prop for the next solar eclipse after date.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Dates as Eclipse Identifiers  
Global Properties of an Eclipse  
Eclipse Types  
Show More Show More
Maximum Eclipse  
Contact Points  
Evolution of the Shadow Axis and the Umbra  
Rising and Setting Curve  
Maximum Eclipse in Horizon Curve  
Local Circumstances  
Eclipse Cycles  
Besselian Elements  
Options  
EclipseType  
TimeDirection  
TimeSystem  
TimeZone  
Properties & Relations  
Possible Issues  
Interactive Examples  
Neat Examples  
See Also
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • LunarEclipse
    • NewMoon
    • LunationNumber
    • FromLunationNumber
    • SunPosition
    • MoonPosition
    • AstroSubpoint
    • StarData
    • MoonPhase
    • PlanetaryMoonData
  • Related Guides
    • Astronomical Computation & Data
    • People & History
    • See Also
      • LunarEclipse
      • NewMoon
      • LunationNumber
      • FromLunationNumber
      • SunPosition
      • MoonPosition
      • AstroSubpoint
      • StarData
      • MoonPhase
      • PlanetaryMoonData
    • Related Guides
      • Astronomical Computation & Data
      • People & History

SolarEclipse

SolarEclipse[]

gives the date of the next solar eclipse.

SolarEclipse[date]

gives the date of the next solar eclipse after the specified date.

SolarEclipse[prop]

gives the value of property prop for the next solar eclipse.

SolarEclipse[date,prop]

gives the value of property prop for the next solar eclipse after date.

Details and Options

  • A solar eclipse occurs when the shadow projected by the Moon passes over the surface of the Earth.
  • There are two to five solar eclipses every year, always near a new moon.
  • The shadow of the Moon has three parts: the umbra, the penumbra and the antumbra.
  • In SolarEclipse[date,…], date can be any DateObject expression or date string.
  • SolarEclipse[{date1,date2,…},prop] returns an EventSeries object of values of the given property at the instant of maximum eclipse after each datei.
  • SolarEclipse[{start,end,All}] returns the list of eclipses between the start and end dates.
  • SolarEclipse[{"Saros",s}] returns the list of eclipses with Saros number s.
  • In SolarEclipse[date,prop], prop can be a named property "prop" or a parametrized property of the form {"prop",param1,param2,…}, where typical parameters are the date or the location of the observer.
  • General properties of solar eclipses include:
  • "Type"type of solar eclipse (partial, total, annular or hybrid)
    "MeeusType"type in Meeus's classification of seven types
    "Gamma"minimum Earth-Moon center distance, in Earth's equatorial radii
    "Magnitude"magnitude observed at the instant of maximum eclipse
    "NewMoon"date of the new moon of the solar eclipse
    "LunationNumber"lunation number of the new moon of the eclipse
    "LunarNode"lunar node (ascending or descending) of the eclipse
    "Central"whether the shadow axis intersects the Earth or not
    "Umbral"whether the umbra cone intersects the Earth or not
    "ContactCount"number of contacts, between two and 10, of the shadow axis and cones with the Earth
  • Properties describing the geographical structure of the eclipse include:
  • "EclipseMap"GeoGraphics map of the key geographical elements
    {"EclipseMap",opts}add options opts to GeoGraphics
    "GraphicsData"graphics directives for all phases of the eclipse
  • Two of the observed periodicities of eclipses are the Saros and Inex cycles. Related properties include:
  • "SarosSeries"integer Saros number of the eclipse
    "InexSeries"integer Inex number of the eclipse
    "IndexInSaros"position of the eclipse in its Saros series
    "SarosInex"pair {saros,inex} of integer numbers
  • Maximum eclipse happens at the closest approach between the shadow axis and the center of the Earth. Maximum eclipse properties include:
  • "MaximumEclipseDate"instant at which maximum eclipse happens
    "MaximumEclipsePosition"geo position of the shadow axis at maximum eclipse
    "MaximumEclipseMagnitude"magnitude (fraction of Sun's diameter covered)
    "MaximumEclipseObscuration"obscuration (fraction of Sun's area covered)
    "MaximumEclipseUmbraDuration"duration of centrality phase at the maximum eclipse position
    "MaximumEclipsePenumbraDuration"duration of partiality phase at the maximum eclipse position
  • Points at which the shadow cones or their axes first or last touch the Earth are known as contact points.
  • Penumbral cone contacts are denoted Pi, and there are two or four in an eclipse. Related properties include:
  • "ContactPointP1Date"instant of first external penumbral contact, at sunrise
    "ContactPointP2Date"instant of first internal penumbral contact, at sunrise
    "ContactPointP3Date"instant of last internal penumbral contact, at sunset
    "ContactPointP4Date"instant of last external penumbral contact, at sunset
    "ContactPointP1Position"geo position of contact P1
    "ContactPointP2Position"geo position of contact P2
    "ContactPointP3Position"geo position of contact P3
    "ContactPointP4Position"geo position of contact P4
  • Umbral cone contacts are denoted Ui, and there are zero, two or four in an eclipse. Related properties include:
  • "ContactPointU1Date"instant of first external umbral contact, at sunrise
    "ContactPointU2Date"instant of first internal umbral contact, at sunrise
    "ContactPointU3Date"instant of last internal umbral contact, at sunset
    "ContactPointU4Date"instant of last external umbral contact, at sunset
    "ContactPointU1Position"geo position of contact U1
    "ContactPointU2Position"geo position of contact U2
    "ContactPointU3Position"geo position of contact U3
    "ContactPointU4Position"geo position of contact U4
  • Shadow axis contacts are denoted Ci, and there are zero or two in an eclipse. Related properties include:
  • "ContactPointC1Date"instant of first contact of the shadow axis with the Earth
    "ContactPointC2Date"instant of last contact of the shadow axis with the Earth
    "ContactPointC1Position"geo position of contact C1
    "ContactPointC2Position"geo position of contact C2
  • Properties "TotalPhaseStartDate" and "TotalPhaseEndDate" are equivalent to "ContactPointC1Date" and "ContactPointC2Date".
  • Properties related to the shadow axis include:
  • {"ShadowAxisPosition",date}geo position of the shadow axis at the given date
    {"ShadowAxisVelocity",date}velocity geo vector of the shadow axis at the given date
    {"ShadowAxisSpeed",date}speed (norm of the velocity vector) of the shadow axis
    {"ShadowAxisDirection",date}bearing angle of the shadow axis velocity vector
    {"ShadowAxisDeclination",date}declination of the shadow axis in the TETE equatorial frame
    {"ShadowAxisHourAngle",date}Greenwich hour angle of the shadow axis
    "ShadowAxisLine"geo path of the shadow axis for the whole eclipse
  • The property "TotalPhaseCenterLine" is equivalent to "ShadowAxisLine".
  • Properties related to the umbra cone include:
  • {"UmbraPolygon",date}polygon of the umbra shadow at the given date
    {"UmbraBoundaryLine",date}geo path of the boundary of the umbra at the given date
    "UmbraEnvelopePolygon"polygon including all locations in the umbra during the eclipse
    "UmbraRiseSetLine"rising and setting curve for the umbra
    {"UmbraPathWidth",date}width of the umbra envelope at the given date
  • The property "TotalPhasePolygon" is equivalent to "UmbraEnvelopePolygon".
  • Properties related to the penumbra cone include:
  • {"PenumbraPolygon",date}polygon of the penumbra shadow at the given date
    {"PenumbraBoundaryLine",date}geo path of the boundary of the penumbra at the given date
    "PenumbraEnvelopePolygon"polygon including all locations in the penumbra in the eclipse
    "PenumbraRiseSetLine"rising and setting curve for the penumbra
    "PenumbraRiseSetNode"node of self-intersecting rising and setting curve
    "MaximumEclipseInHorizonLine"curve of maximum eclipse in the horizon
  • The property "PartialPhasePolygon" is equivalent to "PenumbraEnvelopePolygon".
  • The local maximum eclipse for the position loc happens when this position is closest to the shadow axis. Local maximum eclipse properties include:
  • {"LocalMaximumEclipseDate",loc}the date at which the maximum eclipse is observed from loc
    {"LocalMaximumEclipseMagnitude",loc}magnitude observed from loc at local maximum eclipse
    {"LocalMaximumEclipseObscuration",loc}obscuration observed from loc at local maximum eclipse
  • Local contact properties include:
  • {"LocalPenumbraContact1Date",loc}instant of first penumbral contact with position loc
    {"LocalPenumbraContact2Date",loc}instant of last penumbral contact with position loc
    {"LocalPenumbraDuration",loc}duration between first and last penumbral contacts
    {"LocalUmbraContact1Date",loc}instant of first umbral contact with position loc
    {"LocalUmbraContact2Date",loc}instant of last umbral contact with position loc
    {"LocalUmbraDuration",loc}duration between first and last umbral contacts
  • Time- and location-dependent properties include:
  • {"LocalMagnitude",date,loc}magnitude observed from loc at date
    {"LocalObscuration",date,loc}obscuration observed from loc at date
    {"SunApparentRadius",date,loc}angular apparent radius of the Sun
    {"MoonApparentRadius",date,loc}angular apparent radius of the Moon
    {"SunMoonSeparation",date,loc}angular separation between Sun and Moon
  • Properties related to Besselian elements include:
  • {"BesselianElementsCoefficients",date0}polynomial coefficients for the eight main Besselian elements with respect to the time origin date0
    "BesselianElementsCoefficients"polynomial coefficients for the automatically selected time origin
    {"BesselianElementsFunctions",date0}Besselian element functions of time in hours from date0
    "BesselianElementsFunctions"Besselian element functions for the automatic time origin
    {"BesselianElements",date}values of the eight main Besselian elements at date
    {"BesselianRotationMatrix",date}rotation matrix between the geodetic and Besselian frames
    {"SunXYZ",date}Besselian coordinates of the center of the Sun
    {"MoonXYZ",date}Besselian coordinates of the center of the Moon
    {"PenumbraVertexXYZ",date}Besselian coordinates of the penumbra vertex
    {"UmbraVertexXYZ",date}Besselian coordinates of the umbra vertex
    {"AngularVelocityXYZ",date}Besselian coordinates of Earth's angular velocity vector
    {"ObserverXYZ",date,loc}Besselian coordinates of the observer at position loc
  • SolarEclipse[] is equivalent to SolarEclipse["MaximumEclipseDate"].
  • SolarEclipse can accept the following options:
  • TimeDirection 1whether to return the next or last solar eclipse
    EclipseType Automaticused to specify the type of solar eclipse
    TimeSystem Automatictime system to be used for output dates
    TimeZone $TimeZonetime zone to be used for output dates
  • Possible settings for TimeDirection include:
  • 1returns the next solar eclipse from the specified date
    -1returns the last solar eclipse from the specified date
  • Possible settings for EclipseType include:
  • Automaticreturns the next eclipse of any type
    "Annular"returns the next annular eclipse
    "Hybrid"returns the next hybrid eclipse
    "Partial"returns the next partial eclipse
    "Total"returns the next total eclipse
  • To compute the positions of the Earth, the Sun and the Moon, SolarEclipse uses the DE440 ephemerides from NASA, spanning a period of more than 30 millennia, between the years –13200 and 17200 approximately. There are about 72200 solar eclipses in this period.

Examples

open all close all

Basic Examples  (4)

Find the date of the next solar eclipse:

Find its magnitude at maximum eclipse:

Find the date of the next solar eclipse after a specified date:

Find the type of the next solar eclipse:

Show a map illustrating the geographical elements of the eclipse on April 8, 2024:

Scope  (23)

Dates as Eclipse Identifiers  (3)

An eclipse is identified in output by the DateObject expression of its maximum eclipse instant:

Dates in input can be given as DateObject expressions or date strings:

Find all solar eclipses between two given dates:

Plot their magnitudes:

Global Properties of an Eclipse  (2)

Find the general properties, or circumstances, of the eclipse used by Eddington to confirm gravitational bending:

It was a total eclipse:

It had a magnitude of 1.0728, so that the Moon's apparent diameter was 7.28% larger than that of the Sun at maximum eclipse:

It had obscuration 1, meaning that the full disk of the Sun was covered by the Moon:

It belonged to Saros series 136:

It was eclipse number 32 in that Saros series:

Find general properties of a partial eclipse:

A total of 62.87% of the diameter of the Sun was covered by the Moon as observed at maximum eclipse:

A total of 52.47% of the area of the Sun's apparent disk was covered by the disk of the Moon:

This eclipse will happen in lunation 447:

The eclipse will happen around 14 minutes before the instant of the new moon:

Find the date and position of maximum eclipse:

Find the dates of penumbral contact with that location:

Simulate the eclipse as observed from the location of maximum eclipse between those two instants:

Eclipse Types  (4)

Eclipses can be classified in different ways. An eclipse is central if the shadow axis touches the Earth:

A central eclipse can be total, annular or hybrid (i.e. change between annular and total):

This is a partial eclipse, so the shadow axis will not intersect the Earth:

Therefore, this property cannot be computed:

There can be total or annular solar eclipses that are not central. The last one happened in 2014:

The shadow axis does not intersect the Earth:

But the umbra cone (actually the antumbra part) does intersect the Earth:

It was an annular eclipse:

Show the evolution of the eclipse near the instant of maximal eclipse, zooming in on the umbra on the right:

Jean Meeus proposed a classification for seven types of eclipse. Find out the Meeus types of eclipses in the next four years:

Maximum Eclipse  (1)

In a partial eclipse, no Earth observer sees totality. The location and instant observing highest magnitude is called the maximum eclipse:

The eclipse identifier uses precisely the instant of maximum eclipse:

This is the location observing maximum eclipse:

This is the magnitude observed from that location:

It coincides with the computation of magnitude from that location at that instant:

For a partial eclipse, maximum eclipse always happens near the horizon:

This map shows the location of maximum eclipse at the center, in white, on the yellow line of maximum eclipse in horizon:

Contact Points  (1)

Find the next annular eclipse:

Compute the dates and locations of some of the four umbral contact points for this eclipse:

Evolution of the Shadow Axis and the Umbra  (3)

Find the first total eclipse after the beginning of the year 2030:

Compute the instantaneous position of the shadow axis at any given instant:

Compute the path of the shadow axis for this whole eclipse:

Compute the envelope polygon for the umbra:

Represent those elements on a map:

Zoom in around the selected instantaneous position:

Take the first solar eclipse of the year 2024 and compute the dates of its first and last shadow axis contacts:

Compute the speed of the shadow axis as a function of the number of hours from maximum eclipse:

This is the speed at the instant of maximum eclipse:

The speed diverges near the contact points of the shadow axis with the Earth:

Compute the width of the central path at any time during an eclipse:

Only eclipses with all four umbral contact points have a well-defined central path. For example, partial eclipses do not have a central path:

Rising and Setting Curve  (2)

Find the rise/set curve for the next eclipse, describing the positions that see the beginning or end of the eclipse at sunrise or sunset:

This eclipse has all four penumbral contact points, so the penumbra shadow is interior to the Earth at some point. Therefore, the rise/set line has two separate lobes:

Find the rise/set curve for an eclipse in which contact points P2 and P3 do not exist:

Then the rise/set line self-intersects at a node point:

Maximum Eclipse in Horizon Curve  (1)

Find the locus of the observers that see maximum eclipse with the Sun on the horizon:

Note the relation with the rise/set line of the eclipse:

Local Circumstances  (2)

Find the date of the total solar eclipse of April 2024, which will be visible from the US:

Select a location in the US:

It will not be possible to observe totality from this location. This is the magnitude at the instant of local maximum eclipse, and it is smaller than 1:

It will happen at this instant:

Plot the evolution of the magnitude at this location:

The magnitude is zero outside of this date interval:

That is the duration of the contact with the penumbra:

For the eclipse of April 2024, select a location that will observe totality:

It will observe totality because the magnitude at the local maximum eclipse is larger than 1:

Plot the evolution of the magnitude at this location. The totality phase is clear:

Compute the penumbra and umbra contacts:

Therefore, these are the durations of partiality and totality:

Eclipse Cycles  (3)

Find the Inex and Saros numbers of an eclipse:

Find both properties together:

Highlight an eclipse in a 3000-year Saros–Inex panorama, with each eclipse being a point {saros,inex}:

Use 30,000 years of eclipses:

Other possible eclipse cycles include:

Besselian Elements  (1)

Compute the Besselian element coefficients for the first solar eclipse of the year 2024:

This is the time selected as the origin of time:

Construct the standard Besselian functions as functions of time in hours from T0:

From these functions, compute all circumstances of the eclipse. For example, find the instant of maximum eclipse:

Compare to the reported value after changing to the "TT" time system:

Options  (6)

EclipseType  (1)

By default, SolarEclipse finds the next eclipse of any type:

Find the next eclipse of a different type:

Check that the intermediate eclipses are not partial:

TimeDirection  (2)

By default, SolarEclipse finds the next eclipse:

Find the previous eclipse instead:

Find the first eclipse after a given date:

Find the first eclipse before the same date:

TimeSystem  (2)

By default, SolarEclipse returns dates in the default Wolfram Language time system, an implementation of UTC extended to follow UT1 in the far past and future:

Specify that the result should be given in a different time system:

Find an eclipse in the far past. Note that DateObject uses by default a proleptic Gregorian calendar without year zero:

Changing to the "TT" time system shifts the date representation by several days:

It is still the same date:

TimeZone  (1)

By default, SolarEclipse returns dates in your local time zone:

Return the same date in a different time zone:

Properties & Relations  (5)

A solar eclipse is always very close to a new moon. Take a random date in the last 1000 years:

Find the first eclipse after that date:

Find the new moon in the vicinity of that solar eclipse:

They are less than 20 minutes apart:

Both the eclipse and the new moon can be identified by the same lunation number:

Solar eclipses correspond to minima of angular separation between the sky positions of the Sun and Moon:

For a total eclipse, the angular separation has its minimum at zero:

SolarEclipse finds and describes solar eclipses, in which the Moon passes between the Earth and the Sun:

LunarEclipse finds and describes lunar eclipses, in which the Earth passes between the Sun and the Moon:

They are frequently about two weeks from each other:

Compute all eclipses of a given Saros series:

They are all separated by approximately one Saros:

There are two to five solar eclipses each year:

There are very few years with five solar eclipses:

These were their types:

Possible Issues  (1)

Take a location and compute the date of penumbral first contact for a solar eclipse:

AstroGraphics shows the Sun and the Moon touching at that moment, as observed from that location:

Maps of larger areas of the sky enlarge the Sun and the Moon, apparently making them overlap:

Interactive Examples  (2)

Simulate the progression of the Moon's shadow over the Earth for the eclipse of April 8, 2024:

Explore the geometric intersection of a tilted ellipsoid and a cone in the Besselian framework:

Neat Examples  (2)

Construct a map of the totality paths of the total eclipses between years 2010 and 2030:

Take all eclipses of a Saros series:

Show the evolution of the centrality polygons in the series:

See Also

LunarEclipse  NewMoon  LunationNumber  FromLunationNumber  SunPosition  MoonPosition  AstroSubpoint  StarData  MoonPhase  PlanetaryMoonData

Related Guides

    ▪
  • Astronomical Computation & Data
  • ▪
  • People & History

History

Introduced in 2014 (10.0) | Updated in 2024 (14.0)

Wolfram Research (2014), SolarEclipse, Wolfram Language function, https://reference.wolfram.com/language/ref/SolarEclipse.html (updated 2024).

Text

Wolfram Research (2014), SolarEclipse, Wolfram Language function, https://reference.wolfram.com/language/ref/SolarEclipse.html (updated 2024).

CMS

Wolfram Language. 2014. "SolarEclipse." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/SolarEclipse.html.

APA

Wolfram Language. (2014). SolarEclipse. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolarEclipse.html

BibTeX

@misc{reference.wolfram_2025_solareclipse, author="Wolfram Research", title="{SolarEclipse}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SolarEclipse.html}", note=[Accessed: 04-February-2026]}

BibLaTeX

@online{reference.wolfram_2025_solareclipse, organization={Wolfram Research}, title={SolarEclipse}, year={2024}, url={https://reference.wolfram.com/language/ref/SolarEclipse.html}, note=[Accessed: 04-February-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English