Yerm Lunar Calendar

A simple rule-based lunar calendar that follows the moon phase about as closely as any such calendar can.


I've constructed a simple rule-based pure lunar calendar. It abandons any pretence to follow the seasons, allowing the length of the 'year' to be modified to suit a simple and accurate tracking of the lunar month.

This 'year', which I hence refer to as a yerm (YEaR Moon) has an odd number of months in it and has months of alternating lengths 30 and 29 nights. The first and last months have 30 nights. Each new yerm occurs when there are two consecutive months of 30 nights.

A 3-yerm cycle of two 17-month yerms and a 15-month yerm produces a mean month of 29.530612 days. This I call the Basic Yerm Calendar. It is accurate within an hour per century. The three-yerm cycle of this calendar is exactly 14 days short of four years with a leap day.

For better accuracy an additional 17 month yerm is inserted after every 17 of these basic three-yerm cycles. This gives a cycle of 25101 nights and 850 months and a mean month of 29.5305882 days. This is more accurate than the Hebrew calendar.

The dates (or nights) of the calendar begin at 12 midday clock time, so that the night is not interrupted by a date change. I chose Yerm 1 of the present cycle to begin on November 11th 1996.

The Rules

The calendar has months grouped into yerms so that:
  1. In each yerm, the odd numbered months have 30 nights and the even numbered months 29 nights.
  2. In each cycle, the yerms have 17 months, except those whose number is divisible by 3, which have 15 months.
  3. Each cycle has 52 yerms and the present cycle began at noon on 11 November 1996 in the Gregorian Calendar.
The calendar is so simple that the rules can be stated in a single sentence. Months go 30:29:30:29.... :30 nights in a yerm, yerms go 17:17:15:17:17:15... :17 months in a 52-yerm cycle and the present cycle began at noon on 11th November 1996.

Date Notation with Crescents

Dates can in shorthand be expressed with numbers. The crescent-like brackets are used as delimiters.

For example, 'Night 26 Month 2 Yerm 3' can be written as '03(02(26' or '26)02)03'. Owing to the risk of writing the brackets the wrong way round, I only use the former ym(mm(dd date format.

Months too can be given the cresent notation. For example, 'Month 5 Yerm 4' is '04(05' . This month notation is used below.

Dates within a yerm are preceded by a crescent so have a (mm(dd format. For example Night 7 of Month 16 is written (16(07. This distinguishes such dates from months.

Correlation with the Moon

The motion of the moon is very complex and can not be reflected by a simple rule-based calendar. Hence no simple rule-based lunar calendar can predict the exact date of a given phase of the moon.

There will inevitably be a range of variation of nearly 30 hours for any given moonphase. Nevertheless, the Yerm Calendar is better than any other rule-based lunar calendar, I know of, at limiting this range of variation. To do it justice, the variation of the moonphase ('dark moon' chosen) is given in hours rather than only in days.

Below I give you the start dates of some of the Months in the Yerm Calendar and how many hours (h) the month starts after the 'dark moon' in UT (or GMT). Also I give the number of 'days' (d) that the calendar is late.

  30 'day' Yerm months                   29 'day' Yerm months
ye(mo  begins noon   (h)   (d)     ye(mo  begins noon  (h)   (d)
16(01  2016-09-02    +27   +1      16(02  2016-10-02   +36   +1
16(03  2016-10-31    +18    0      16(04  2016-11-30   +24    0
16(05  2016-12-29    +05    0      16(06  2017-01-28   +12    0
16(07  2017-02-26    -03   -1      16(08  2017-03-28   +09    0
16(09  2017-04-26    -00   -1      16(10  2017-05-26   +16    0
16(11  2017-06-24    +10    0      16(12  2017-07-24   +26   +1
16(13  2017-08-22    +17    0      16(14  2017-09-21   +31   +1
16(15  2017-10-20    +17    0      16(16  2017-11-19   +24   +1
16(17  2017-12-18    +05    0 

  30 'day' Yerm months                   29 'day' Yerm months
ye(mo  begins noon   (h)   (d)     ye(mo  begins noon  (h)   (d)
17(01  2018-01-17    +10    0      17(02  2018-02-16   +15    0
17(03  2018-03-17    -01   -1      17(04  2018-04-16   +10    0
17(05  2018-05-15    +00    0      17(06  2018-06-14   +16    0
17(07  2018-07-13    +09    0      17(08  2018-08-12   +26   +1
17(09  2018-09-10    +18    0      17(10  2018-10-10   +32   +1
17(11  2018-11-08    +20    0      17(12  2018-12-08   +29   +1
17(13  2019-01-06    +11    0      17(14  2019-02-05   +21    0
17(15  2019-03-06    -04   -1      17(16  2019-04-05   +03    0
17(17  2019-05-04    -12   -1

  30 'day' Yerm months                   29 'day' Yerm months
ye(mo  begins noon   (h)   (d)     ye(mo  begins noon  (h)   (d)
18(01  2019-06-03    +02    0      18(02  2019-07-03   +17    0
18(03  2019-08-01    +09    0      18(04  2019-08-31   +25   +1
18(05  2019-09-29    +18    0      18(06  2019-10-29   +32   +1
18(07  2019-11-27    +21    0      18(08  2019-12-27   +31   +1
18(09  2020-01-25    +14    0      18(10  2020-02-24   +20    0
18(11  2020-03-24    +03    0      18(12  2020-04-23   +10    0
18(13  2020-05-22    -06   -1      18(14  2020-06-21   +05    0
18(15  2020-07-20    -06   -1    

For more dates, see the longer table.

Dates of New Yerms

The yerm bears no relationship to the year. It is optimised for the simple and accurate tracking of the moonphase. Below is a table of Gregorian dates that some new yerms begin at the noon of.

Last Cycle (20)
25: 1959-11-01 Sun    26: 1961-03-17 Fri    27: 1962-08-01 Wed
28: 1963-10-18 Fri    29: 1965-03-03 Wed    30: 1966-07-18 Mon
31: 1967-10-04 Wed    32: 1969-02-17 Mon    33: 1970-07-04 Sat
34: 1971-09-20 Mon    35: 1973-02-03 Sat    36: 1974-06-20 Thu
37: 1975-09-06 Sat    38: 1977-01-20 Thu    39: 1978-06-06 Tue
40: 1979-08-23 Thu    41: 1981-01-06 Tue    42: 1982-05-23 Sun
43: 1983-08-09 Tue    44: 1984-12-23 Sun    45: 1986-05-09 Fri
46: 1987-07-26 Sun    47: 1988-12-09 Fri    48: 1990-04-25 Wed
49: 1991-07-12 Fri    50: 1992-11-25 Wed    51: 1994-04-11 Mon
52: 1995-06-28 Wed

This Cycle (21)
01: 1996-11-11 Mon    02: 1998-03-28 Sat    03: 1999-08-12 Thu
04: 2000-10-28 Sat    05: 2002-03-14 Thu    06: 2003-07-29 Tue
07: 2004-10-14 Thu    08: 2006-02-28 Tue    09: 2007-07-15 Sun
10: 2008-09-30 Tue    11: 2010-02-14 Sun    12: 2011-07-01 Fri
13: 2012-09-16 Sun    14: 2014-01-31 Fri    15: 2015-06-17 Wed
16: 2016-09-02 Fri    17: 2018-01-17 Wed    18: 2019-06-03 Mon
19: 2020-08-19 Wed    20: 2022-01-03 Mon    21: 2023-05-20 Sat
22: 2024-08-05 Mon    23: 2025-12-20 Sat    24: 2027-05-06 Thu 

New Yerm Cycles (Gregorian Calendar)
1721-12-19 Fri   1790-09-09 Thu    1859-06-01 Wed
1928-02-21 Tue   1996-11-11 Mon    2065-08-02 Sun
The construction of this table was greatly aided by the fact that 3 yerms is exactly 2 weeks less than 4 Julian years, except when the 3 yerms begin with the last yerm of a cycle. Dates were checked using Easy Date Converter 3.06.

The days of the week that the yerms begin follow an interesting pattern, arising from the fact that a 17-month yerm and a 15-month yerm last exactly 135 weeks together.

I notice a tendency for Yerm months 2 or 4 yerms apart to begin on the same day of the Gregorian month (e.g. yerms 2, 4 and 8 begin on the 28th). The short February aids this. It happens regardless of the number of months in-between. If there are 32 or 64 months in-between, one would also have the same day of week (e.g. yerms 2 and 4 begin on Saturday 28th).

Online Calendar Converter

Tim Forsythe has kindly made a calendar converter on his Rumblefische Calendar Site which converts various calendar dates to/from the yerm calendar. Tim has withdrawn from the web and the converter is now housed by Victor Engel at

Conversion is correct for times after noon local time. It uses the algorithm given next

Conversion Algorithm

I've come up with the following algorithm for converting a Yerm Calendar Date to/from Julian Day number (JD).

In order to aid conversion from Yerm date to JD, I've added a count for the cycle of the calendar and chose cycle 1, to begin 20 cycles before JD 2450399 = 1996-11-11 on JD 1948379, which is just two months before the start of the Islamic AH era.

The conversion is exact for the Astronomer's JD in UT. For the Chronologer's JD it is correct for times after 12 noon and before midnight local time.

The algorithm has not been tested thoroughly, but is believed to be correct.

Explanation of constants

The algoithm uses the following constants:
1948379  JD of the epoch 1-01(01(01
  25101  number of days in one 52-yerm cycle
   1447  number of days in three consecutive yerms within 52-yerm cycle
    502  number of days in 17-month yerm
     59  number of days in two consecutive months within a yerm
     30  number of days in a full month

Conversion from JD to Yerm Date

jd to cycle-yerm(month(day
day = jd - 1948379;
cycle = 1 + divide( &day, 25101 );
yerm = 1 + 3*divide( &day, 1447 );
yerm = yerm + divide( &day, 502 );
month = 1 + 2*divide( &day, 59 );
month = month + divide( &day, 30 );
day = 1 + day;
where divide(&a, b) returns the quotient a/b and replaces a with the remainder.

Conversion from Yerm Date to JD

cycle-yerm(month(day to jd
cycle = cycle-1;
jd = 1948379 + cycle*25101
yerm = yerm-1;
jd = jd + floor(yerm/3)*1447 + ( yerm mod 3 ) * 502;
month = month-1;
jd = jd + floor(month/2)*59 + ( month mod 2 ) * 30;
jd = jd + day - 1;
where x mod y = x - y*floor(x/y).

Use of Cycle Number in Date Notation

If you use the cycle number in the date notation, then the cycle number is separated from rest of the date by a hyphen is in ISO standard dates and not a crescent bracket. E.g:
  2002-06-10 pm = 21-05(03(30
This is to prevent a month expressed with a cycle number being confused with a date without a cycle number.

Optional Features

Cycle Number

The 52-yerm cycles may be numbered from Julian day 1948379 (noon 16 May 622 Julian), so that this cycle is cycle 21 and cycles 17 to 22 begin as follows:
  Numbered New Yerm Cycles (Gregorian Calendar)
  17: 1721-12-19 Fri    18: 1790-09-09 Thu   19: 1859-06-01 Wed
  20: 1928-02-21 Tue    21: 1996-11-11 Mon   22: 2065-08-02 Sun
This cycle numbering is used in the conversion algorithm.

Full Moon Lunar Weekend

With the help of Simon Cassidy, I found out an interesting way of defining full moon weekends If you define a full moon weekend to have 3 nights (say night 14 to night 16), except in the last month of a yerm, when an extra night is added to the end. Then each such weekend begins on the same day of the week as the one two months ago ended.

This was inprired by Simon's Week of Weeks of Nights of Full Moon which has an interesting relationship with the yerm calendar.

The Natural Yerm

In a solar calendar the year corresponds to a cycle of seasons. In the Yerm Calendar, what natural cycle does a yerm correspond to?

It corresponds to the time it takes for the mean synodic month cycle to fall half a day behind the 29.5 day cycle. It is 1/(2m-59) mean synodic months or m/(2m-59) days, where m is the mean synodic month in days. This works out at about 16.346 synodic months or 482.7 days. The value changes much faster than the mean synodic month and would be expected to be about 16.349 months in the year 3000.

The Basic Yerm Calendar has a mean yerm of 16.3333.. months and the actual Yerm Calendar has it at about 16.346. By the year 3000 the cycle of the Yerm Calendar would have needed to be shortened (say to 40 yerms). Such adjustments don't need to be done more than once a millennium, since a temporary drift of a couple of hours can be tolerated.

If one reckons a mean yerm of exactly 483 days, one would get a mean month of 29.53057 days. This would make 2/59 of a month equivalent to 966/965 days. The resulting calendar would have cycle of 59 yerms = 965 months = 28497 days = 4071 weeks.

The Yerm Calendar Toolkit

The Yerm Calendar is not only a good lunar calendar on its own, but provides a means of analysing other rule-based lunar calendars.

It is possible to describe any lunar calendar cycle with m months and 29n1+30n2 days as equivalent to some variation of the Yerm Calendar. This is shown in a list of lunar calendar cycles

If a lunar cycle of m months has d days, then it is reckoned to have y yerms as follows:

y = 2d - 59m

For example, this could be applied to a Mayan Eclipse Cycle of 405 months and 11960 days. Here we have 23920 - 23895 = 25 yerms. If all the yerms had 17 months there would be 425 months so 10 of them have 15 months, giving 405 months. Therefore this cycle could be realised by five 81-month cycles with yerms in the sequence 17:15:17:15:17. This shows that the eclipse cycle is not very accurate. It was probably chosen because it contains a whole number of 260-day tzolkin cycles.

The above formula can be applied to the various years that are used in lunar calendars with the following results:

12 Months       13 Months

Days   Yerms    Days   Yerms
353     -2      383     -1
354      0      384     +1
355     +2      385     +3
If all months have either 29 or 30 days then the number of yerms is the number of 30-day months minus the number of 29-day months. If there are months of other lengths, the formula can be applied to an individual d-day month, showing that it has 2d - 59 yerms.

When months in the Islamic calendar are reckoned by rules rather than by the sighting of the first crescent, a 30-year cycle is used in which 11 years (called leap years) have 355 days and the rest have 354 days. Such a cycle has 22 yerms. If all these yerms had 17 months there'd be 374 months instead of 360, so 7 of the 22 yerms have 15 months. This is equivalent to the Yerm Calendar cycle shortened to 22 months. This cycle has a mean month of 29.530556 days, so would run an hour ahead per century.

I found a more accurate cycle by adding 12 Basic Yerm Cycles to this cycle. This produces a 58-yerm cycle of 948 months, which is 79 years with 29 leap years. This cycle has a mean month of 29.530591 days. But the 30-year cycle is simpler, because it is easy to find where a given year occurs in the 30-year cycle.

Another interesting thing I found out about the 30-year cycle is that the 11 leap years are usually chosen to be

I found that if a 22-yerm cycle is run with the same epoch, all the years start when a yerm month starts.

From the 58-yerm cycle, I can construct the 79-year cycle with the following 29 leap years:


Historical Notes

Isaac Newton's Idea for Reforming the Julian Calendar

I've found that around 1700, Isaac Newton had an idea for reforming the Julian calendar, which involved an independent lunar calendar for reckoning Easter. This lunar calendar had months grouped into periods of 17, 15 and 17 months, in which the odd-numbered months have 30 days and the even-numbered months have 29 days, just like yerms, so forming the 3-yerm cycle of 49 months of 1447 days. This would be occasionally modified to fit into a cycle of 4,000 years or some other period.

For more details see History of one defeat: reform of the Julian calendar as envisaged by Isaac Newton (full article now behind pay wall).

Old Goddess Calendar

I invented the Yerm Calendar in February 1998 towards the end of Yerm 1, in the same month as Peter Meyer produced the second version of Goddess Lunar Calendar.

Before then, here was a first version version of the Goddess Lunar Calendar, which I'll refer to as the Old Goddess Calendar (OGLC). All I then knew about this Old Goddess Calendar was its 'years' always had 25 months. This was enough for me to guess the mean month of this OGLC to be exactly the same as for the Yerm Calendar. This guess was inspired by the fact that the 850-month cycle of the Yerm Calendar is a multiple of the 25 months in an OGLC-year.

At the start of Yerm 4, I discovered the rules of the OGLC, and found that it has a cycle of 204 OGLC-years exactly equal to 6 cycles of the Yerm Calendar and so my guess was correct. Furthermore, the present Yerm Cycle began on the first day of OGLC-year 2997 and all the months of Yerm 1 began on the first day of the corresponding month of OGLC-year 2997. The OGLC dates that the Yerm Cycles begin are

17: 2861-01-01   18: 2895-01-02   19: 2929-01-01
20: 2963-01-01   21: 2997-01-01   22: 3031-01-01
and repeat every six cycles or 204 OGLC-years.

The Lunar Week

The days of the month can be numbered from 1 to 29 or 30 as is conventional in most calendars. But I have in the first few months after inventing the calendar, used a lunar week whose weekends occur around the principal phases of the moon.

The 1st, 8th, 15th, 22nd and 29th 'nights' of the month are called 'Moonnight'. The first four of these form the start of a lunar week, whose 'nights' are

Moonnight, Tuesnight, Wensnight, Thursnight, Frinight, Saturnight and Soonnight (soon to be Moonnight).

For example, the 10th 'night' is referred to as the Second Wensnight.

This fixes the lunar week in relation to the standard 7 day week for the first four weeks of the month.

The 30th 'night' is a Soonnight, but the last night of any month can be referred to just as 'Lastnight' rather than 'Fifth Soonnight' or 'Fifth Moonnight'.

Short dates are ym(mm(w(d. So for example Fourth Frinight Month 2 Yerm 3 is 03(02(4(5.

I've also considered making the second lunar week have 8 days, but haven't decided how to name the 'nights'.

Old Yerm Lunar Calendar Page

An old version of this page is preserved here.

Copyright 1998-2016 Karl Palmen

17-Month Lunar Calendar Rule-Based Lunar Calendars
Karl Palmen's Calendars Calendar Studies
Hermetic Systems Home Page