---
title: "FromLunationNumber"
language: "en"
type: "Symbol"
summary: "FromLunationNumber[ln] returns the date corresponding to the lunation number ln. FromLunationNumber[scheme, ln] returns the date corresponding to the lunation number in the given counting scheme."
keywords: 
- new moon
- full moon
- moon phase
- lunar count
- Meeus lunation number
- Brown lunation number
- Goldstine lunation number
- Hebrew lunation number
- Islamic lunation number
- Thai lunation number
canonical_url: "https://reference.wolfram.com/language/ref/FromLunationNumber.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Astronomical Computation & Data"
    link: "https://reference.wolfram.com/language/guide/AstronomicalComputationAndData.en.md"
related_functions: 
  - 
    title: "LunationNumber"
    link: "https://reference.wolfram.com/language/ref/LunationNumber.en.md"
  - 
    title: "MoonPhaseDate"
    link: "https://reference.wolfram.com/language/ref/MoonPhaseDate.en.md"
  - 
    title: "MoonPhase"
    link: "https://reference.wolfram.com/language/ref/MoonPhase.en.md"
  - 
    title: "AstroPosition"
    link: "https://reference.wolfram.com/language/ref/AstroPosition.en.md"
  - 
    title: "FromJulianDate"
    link: "https://reference.wolfram.com/language/ref/FromJulianDate.en.md"
---
[EXPERIMENTAL]

# FromLunationNumber

FromLunationNumber[ln] returns the date corresponding to the lunation number ln.

FromLunationNumber[scheme, ln] returns the date corresponding to the lunation number in the given counting scheme.

## Details and Options

* Lunations are periods between consecutive new moons, also known as synodic months.

[image]

* ``FromLunationNumber`` is a way to tell time by the motion of the Moon, effectively counting months.

* A lunation number is a real number. The integer part gives the number of new moons since the first new moon on January 6, 2000. The fractional part of a lunation number gives the phase of the Moon:

|     |               |
| --- | ------------- |
| .0  | new moon      |
| .25 | first quarter |
| .5  | full moon     |
| .75 | last quarter  |

* The fractional part of a lunation number is proportional to the difference in ecliptic longitudes between the Sun and the Moon.

* Possible counting schemes include:

|                           |                                                       |
| ------------------------- | ----------------------------------------------------- |
| Automatic                 | lunation 0 on January 6, 2000                         |
| "BrownLunationNumber"     | lunation 1 on January 17, 1923                        |
| "GoldstineLunationNumber" | lunation 0 on January 1, –1001, proleptic Gregorian   |
| "HebrewLunationNumber"    | lunation 1 on September 6, –3761, proleptic Gregorian |
| "IslamicLunationNumber"   | lunation 1 on July 17, 622, proleptic Gregorian       |
| "ThaiLunationNumber"      | lunation 0 on March 24, 638, proleptic Gregorian      |

* Options of ``FromLunationNumber`` include:

|                  |            |                                      |
| ---------------- | ---------- | ------------------------------------ |
| CalendarType     | Automatic  | calendar used to return dates        |
| DateFormat       | Automatic  | format used to display output dates  |
| DateGranularity  | Automatic  | calendar granularity of output dates |
| TimeSystem       | Automatic  | time system of output dates          |
| TimeZone         | \$TimeZone | time zone of output dates            |

---

## Examples (12)

### Basic Examples (3)

Find the date of lunation number 0:

```wl
In[1]:= FromLunationNumber[0]

Out[1]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6.]
```

---

There will be a solar eclipse at lunation 300:

```wl
In[1]:= FromLunationNumber[300]

Out[1]= DateObject[{2024, 4, 8, 12, 20, 51.5292}, "Instant", "Gregorian", -6.]
```

---

Lunation number 1 in the Islamic counting scheme was close to the date of Hegira:

```wl
In[1]:= FromLunationNumber["IslamicLunationNumber", 1]

Out[1]= DateObject[{622, 7, 16, 23, 29, 13.9412}, "Instant", "Gregorian", -6.]
```

### Scope (2)

Find the date corresponding to a lunation number:

```wl
In[1]:= FromLunationNumber[300]

Out[1]= DateObject[{2024, 4, 8, 12, 20, 51.5292}, "Instant", "Gregorian", -6.]
```

---

Find the date of a lunation number in a non-default scheme:

```wl
In[1]:= FromLunationNumber["BrownLunationNumber", 300]

Out[1]= DateObject[{1947, 3, 22, 10, 34, 3.42818}, "Instant", "Gregorian", -6.]
```

### Options (5)

#### CalendarType (1)

``FromLunationNumber`` returns dates in the Gregorian calendar by default:

```wl
In[1]:= FromLunationNumber[0]

Out[1]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6.]
```

Return dates in the Jewish calendar:

```wl
In[2]:= FromLunationNumber[0, CalendarType -> "Jewish"]

Out[2]= DateObject[{5760, 10, 28, 12, 13, 38.1217}, "Instant", "Jewish", -6.]
```

#### DateFormat (1)

``FromLunationNumber`` returns dates in a long format by default:

```wl
In[1]:= FromLunationNumber[0]

Out[1]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6.]
```

Specify your own format:

```wl
In[2]:= FromLunationNumber[0, DateFormat -> {"Day", "/", "Month", "/", "Year"}]

Out[2]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6., "SmearedUTC", {"Day", "/", "Month", "/", "Year"}]
```

#### DateGranularity (1)

``FromLunationNumber`` returns dates with granularity ``"Instant"`` by default:

```wl
In[1]:= FromLunationNumber[0]

Out[1]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6.]
```

Return dates with ``"Day"`` granularity:

```wl
In[2]:= FromLunationNumber[0, DateGranularity -> "Day"]

Out[2]= DateObject[{2000, 1, 6}, "Day", "Gregorian", -6.]
```

#### TimeSystem (1)

``FromLunationNumber`` returns dates in universal time by default:

```wl
In[1]:= FromLunationNumber[0]

Out[1]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6.]
```

Return dates in ``"TT"`` time instead:

```wl
In[2]:= FromLunationNumber[0, TimeSystem -> "TT"]

Out[2]= DateObject[{2000, 1, 6, 12, 14, 42.3057}, "Instant", "Gregorian", -6., "TT"]
```

#### TimeZone (1)

``FromLunationNumber`` returns dates in your local time zone by default:

```wl
In[1]:= FromLunationNumber[0]

Out[1]= DateObject[{2000, 1, 6, 12, 13, 38.1217}, "Instant", "Gregorian", -6.]
```

Return dates in the GMT time zone:

```wl
In[2]:= FromLunationNumber[0, TimeZone -> "GMT"]

Out[2]= DateObject[{2000, 1, 6, 18, 13, 38.1217}, "Instant", "Gregorian", "GMT"]
```

### Properties & Relations (2)

``LunationNumber`` and ``FromLunationNumber`` are inverse functions:

```wl
In[1]:= LunationNumber[DateObject[{2023, 9, 28, 12, 0, 0}]]

Out[1]= 293.474

In[2]:= FromLunationNumber[%]

Out[2]= DateObject[{2023, 9, 28, 12, 0, 6.67572021484375`*^-6}, "Instant", "Gregorian", -6.]
```

---

Take all dates of lunations between 200 and 300:

```wl
In[1]:= dates = FromLunationNumber /@ Range[200, 300];

In[2]:= {First[dates], Last[dates]}

Out[2]= {DateObject[{2016, 3, 8, 19, 54, 29.3693}, "Instant", "Gregorian", -6.], DateObject[{2024, 4, 8, 12, 20, 51.5292}, "Instant", "Gregorian", -6.]}
```

In a solar calendar like the default Gregorian calendar, new moons can be on any day of the month:

```wl
In[3]:= DateValue[dates, "Day"]

Out[3]= {8, 7, 6, 4, 4, 2, 1, 30, 30, 29, 29, 27, 26, 27, 26, 25, 23, 23, 21, 19, 19, 18, 18, 16, 15, 17, 15, 15, 13, 12, 11, 9, 8, 7, 7, 5, 4, 6, 5, 4, 3, 2, 31, 30, 28, 27, 26, 25, 24, 23, 24, 22, 22, 21, 20, 18, 17, 16, 14, 14, 12, 11, 13, 11, 11, 10, 9, 8, 6, 6, 4, 4, 2, 31, 2, 1, 30, 30, 28, 28, 27, 25, 25, 23, 23, 21, 20, 21, 19, 19, 17, 17, 16, 14, 14, 13, 12, 11, 9, 10, 8}
```

In a lunisolar calendar like the Jewish calendar, new moons fall on days near the change of month:

```wl
In[4]:= DateValue[CalendarConvert[dates, "Jewish"], "Day"]

Out[4]= {28, 28, 28, 27, 28, 27, 28, 27, 28, 28, 29, 29, 30, 29, 30, 29, 29, 29, 29, 28, 29, 29, 30, 29, 30, 1, 30, 1, 30, 29, 30, 29, 29, 29, 29, 28, 29, 29, 29, 29, 29, 29, 28, 29, 28, 28, 28, 27, 27, 28, 28, 28, 28, 29, 28, 28, 28, 28, 27, 28, 28, 29, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29, 29, 29, 29, 29, 29, 29, 29, 30, 29, 30, 29, 29, 28, 29, 28, 28, 28, 28, 28, 29, 28, 29, 29, 29, 1, 30, 30, 29}
```

Perform the analysis with 5000 lunar months:

```wl
In[5]:= dates = FromLunationNumber /@ Range[0, 5000];

In[6]:= Histogram[DateValue[dates, "Day"], 30]

Out[6]= [image]

In[7]:= Histogram[DateValue[CalendarConvert[dates, "Jewish"], "Day"], 30]

Out[7]= [image]
```

## See Also

* [`LunationNumber`](https://reference.wolfram.com/language/ref/LunationNumber.en.md)
* [`MoonPhaseDate`](https://reference.wolfram.com/language/ref/MoonPhaseDate.en.md)
* [`MoonPhase`](https://reference.wolfram.com/language/ref/MoonPhase.en.md)
* [`AstroPosition`](https://reference.wolfram.com/language/ref/AstroPosition.en.md)
* [`FromJulianDate`](https://reference.wolfram.com/language/ref/FromJulianDate.en.md)

## Related Guides

* [Astronomical Computation & Data](https://reference.wolfram.com/language/guide/AstronomicalComputationAndData.en.md)

## History

* [Introduced in 2024 (14.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn140.en.md)