Back to the calendar rules page

Examples of Computing the Chinese Calendar

First draft: October, 2018

On this page I provide two examples of computing the Chinese calendar using the rules stated on the rules page. I also analyze the special year 2033.

For simplicity, I label a Chinese year by NY. It means the Chinese year whose New Year day is closest to Jan. 1 in Gregorian year Y. For example, N1984 means the Chinese year Jiǎ zǐ (甲子) that begins on Feb. 2, 1984 and ends on Feb. 19, 1985.

It is also convenient to label the lunar conjunctions (new moons) by lunation numbers. A lunation number refers to the number of new moons counting from a starting point. It was invented by Ernest W. Brown in 1933. In Brown's system, lunation number 1 is the first new moon in 1923, which occurred on January 17, 1923 at 2:41 UT1. The Julian day number on Jan. 17, 1923 at noon UT is 2423437. Since the synodic month is 29.5306 days. The lunation number associated with a new moon is the integer closest to 1 + (JD - 2423437)/29.5306, where JD is the Julian day number at UT noon on the date of the new moon.

Example 1: Determine all months in the Chinese year N2017, which is the year Dīng yǒu (丁酉).

According to Astronomical Phenomena for the Year 2016, the winter solstice in 2016 was on Dec. 21 at 10:44 UTC, which was Dec. 21 at 18:44 (UTC+8). So W2016 = Dec. 21, 2016. According to Astronomical Phenomena for the Year 2017, the winter solstice in 2017 was on Dec. 21 at 16:28 UTC, which was Dec. 22 at 00:28 (UTC+8). So W2017 = Dec. 22, 2017. The times of all lunar conjunctions in 2016 and 2017 are also available in the books. Note that the new moons in the books are labelled by the lunation numbers. From the data in the books I find M-1 = Nov. 29, 2016 and M11 = Dec. 18, 2017, and so M11 - M-1 = 384. This means L = 13 and there was a leap month in the suì S2017. Next we need the dates of all 12 major solar terms in 2017. Unfortunately, Astronomical Phenomena for the Year 2017 only has times for the equinoxes and solstices, so we have to calculate them on our own. I have done the calculations and the times are available on the Sun & Moon phenomena page. Note that all times in the two books above are in UTC, whereas the times in the Sun & Moon page are in UTC+8. All times must be converted to UTC+8 for Chinese calendar calculation according to Rule 1.

The following table lists the dates of the major solar terms and relevant lunar conjunctions in chronological order. A lunar conjunction is labelled as L followed by the lunation number.

Lunar ConjunctionMajor Solar Term
L1162: Nov. 29, 2016
Z11: Dec. 21, 2016
L1163: Dec. 29, 2016
Z12: Jan. 20, 2017
L1164: Jan. 28, 2017
Z1: Feb. 18, 2017
L1165: Feb. 26, 2017
Z2: Mar. 20, 2017
L1166: Mar. 28, 2017
Z3: Apr. 20, 2017
L1167: Apr. 26, 2017
Z4: May 21, 2017
L1168: May 26, 2017
Z5: June 21, 2017
L1169: June 24, 2017
Z6: July 22, 2017
L1170: July 23, 2017
L1171: Aug. 22, 2017
Z7: Aug. 23, 2017
L1172: Sep. 20, 2017
Z8: Sep. 23, 2017
L1173: Oct. 20, 2017
Z9: Oct. 23, 2017
L1174: Nov. 18, 2017
Z10: Nov. 22, 2017
L1175: Dec. 18, 2017
Z11: Dec. 22, 2017

Looking at the dates, we see that the month associated with the new moon on July 23, 2017 (lunation 1170) was the only month in the suì that does not contain a major solar term. It was a leap month. So we have M0 = Dec. 29, 2016, M1 = Jan. 28, 2017, ..., M6 = June 24, 2017, M*6 = July 23, 2017, M7 = Aug. 22, 2017, ..., M11 = Dec. 18, 2017. The leap month was the month after month 6. To determine the rest of the month(s) in N2017, we need to go through the steps again in principle. However, we can use a short cut here. We know that there can only be at most 13 months in a Chinese year. Therefore, there is only one month left in N2017 and it is month 12, which must be the month following month 11. The corresponding date of the lunar conjunction can be found in Astronomical Phenomena for the Year 2018. The following table summarizes the 13 months in N2017.

MonthFirst day# of Days
1Jan. 28, 201729
2Feb. 26, 201730
3Mar. 28, 201729
4Apr. 26, 201730
5May 26, 201729
6June 24, 201729
leap 6July 23, 201730
7Aug. 22, 201729
8Sep. 20, 201730
9Oct. 20, 201729
10Nov. 18, 201730
11Dec. 18, 201730
12Jan. 17, 201830

The number of days in a month is computed by counting the number of days between the first day of the month and the first day of the following month. For example, the first day of month 4 was on Apr. 26 and the first day of month 5 was on May 26. This means that Apr. 26 was the first day of month 4; Apr. 27 was the second day of month 4; Apr. 28 was the third day of month 4; ...; May 25 was the 30th day of month 4; and May 26 was the first day of month 5. Thus, month 4 had 30 days.

Example 2: Determine all months in the Chinese year N2033, which is the year Guǐ chǒu (癸丑).

Here I am going to use my calculation for the times of lunar conjunctions and solar terms. They can be looked up on the Sun & Moon page. I find W2032 = Dec. 21, 2032; W2033 = Dec. 21, 2033; M-1 = Dec. 3, 2032; and M11 = Nov. 22, 2033. It follows that M11 - M-1 = 354 days and L = 12. Thus there is no leap month in the suì S2033 and M1 is the date of the second lunar conjunction after M-1, which is Jan. 31, 2033. The first days of months 2-10 are the 9 lunar conjunctions following M1, which can be looked up directly from the Sun & Moon page. The first day of month 11 is M11 = Nov. 22, 2033 determined above. There is no need to look at the major solar terms in the suì S2033 in this case because it is not a leap suì. However, there could be a leap month after month 11 in N2033. So we need to determine if the suì S2034 is a leap suì.

The Sun & Moon page shows W2034 = Dec. 22, 2034 and the lunar conjunction on or before W2034 is M23 = Dec. 11, 2034. Here I use M23 to label the date of the lunar conjunction because it is associated with the 23rd regular month counting from the Chinese year N2033. It follows that M23 - M11 = 384 days and so there are 13 months in the suì S2034. One of the months is a leap month and it could be in the year N2033. We now need the dates of major solar terms and lunar conjunctions in the suì S2034 to determine which month is a leap month. The following table lists the first few dates starting from M11.

Lunar ConjunctionMajor Solar Term
L1372: Nov. 22, 2033
Z11: Dec. 21, 2033
L1373: Dec. 22, 2033
L1374: Jan. 20, 2034Z12: Jan. 20, 2034
Z1: Feb. 18, 2034
L1375: Feb. 19, 2034

We see that the month associated with lunation 1373 is the first month after M11 that does not contain a major solar term, so it is a leap month. The previous month is month 11, so the leap month has a number 11. It is in the Chinese year N2033. The month following the leap month is month 12 of N2033 and the calculation of all months in N2033 is now complete. The following summarizes the result for the year N2033.

MonthFirst day# of Days
1Jan. 31, 203329
2Mar. 1, 203330
3Mar. 31, 203329
4Apr. 29, 203329
5May 28, 203330
6June 27, 203329
7July 26, 203330
8Aug. 25, 203329
9Sep. 23, 203330
10Oct. 23, 203330
11Nov. 22, 203330
leap 11Dec. 22, 203329
12Jan. 20, 203430

The Exceptional Year N2033

It has been pointed out by several people that N2033 is an exceptional year and some published Chinese calendars made mistakes in their calculations. However, we don't see anything special from the calculation shown in example 2. To understand why N2033 is special, I have to list all the relevant dates of lunar conjunctions and major solar terms, including those I skipped in the above calculation. The following table shows the dates.

Lunar ConjunctionMajor Solar TermDate in the Chinese Calendar
L1360: Dec. 3, 203211-01, N2032
Z11: Dec. 21, 203211-19, N2032
L1361: Jan. 1, 203312-01, N2032
Z12: Jan. 20, 203312-20, N2032
L1362: Jan. 31, 203301-01, N2033
Z1: Feb. 18, 203301-19, N2033
L1363: Mar. 1, 203302-01, N2033
Z2: Mar. 20, 203302-20, N2033
L1364: Mar. 31, 203303-01, N2033
Z3: Apr. 20, 203303-21, N2033
L1365: Apr. 29, 203304-01, N2033
Z4: May 21, 203304-23, N2033
L1366: May 28, 203305-01, N2033
Z5: June 21, 203305-25, N2033
L1367: June 27, 203306-01, N2033
Z6: July 22, 203306-26, N2033
L1368: July 26, 203307-01, N2033
Z7: Aug. 23, 203307-29, N2033
L1369: Aug. 25, 203308-01, N2033
L1370: Sep. 23, 2033Z8: Sep. 23, 203309-01, N2033
L1371: Oct. 23, 2033Z9: Oct. 23, 203310-01, N2033
L1372: Nov. 22, 2033Z10: Nov. 22, 203311-01, N2033
Z11: Dec. 21, 203311-30, N2033
L1373: Dec. 22, 2033leap 11-01, N2033
L1374: Jan. 20, 2034Z12: Jan. 20, 203412-01, N2033
Z1: Feb. 18, 203412-30, N2033
L1375: Feb. 19, 203401-01, N2034
L1376: Mar. 20, 2034Z2: Mar. 20, 203402-01, N2034
L1377: Apr. 19, 203403-01, N2034
Z3: Apr. 20, 203403-02, N2034
L1378: May 18, 203404-01, N2034
Z4: May 21, 203404-04, N2034

In the table above, dates in the Chinese calendar are indicated by MM-DD, NY. For example, 12-20, N2032 means the 20th day of month 12 in the year N2032.

It can be seen from the table that the months associated with lunations 1369, 1373 and 1375 do not contain any major solar term but only one of them is a leap month. The mistake some people made in the calendar calculation arises from using the incorrect rule that "a month that does not contain a major solar term is a leap month". However, this can only be taken as a rule of thumb in the sense that it is true most of the time but can fail on rare occasions. It clearly doesn't work in N2033 and N2034. People who performed the calendar calculation clearly realized that it was inappropriate to put three leap months there. Without understanding the details of how the Chinese calendar works, most people incorrectly assigned the leap month to the month associated with lunation 1369. A month that does not contain a major solar term but is not a leap month is called a fake leap month in Aslasksen's article. A fake leap month also occurred in N1984, but it occurred after the true leap month. So assigning the leap month to the first month without a major solar term worked in that case.

The rules of calendar calculation are robust and they can handle N2033 without any difficulty. Since there are 12 months in the suì S2033, it is not a leap suì. It doesn't matter if there is a month with no major solar term within since there is no room for a leap month. That is why in example 2 I don't even bother to look up the dates of the major solar terms in the suì S2033. The suì S2034 is a leap suì. In the calculation in example 2, once I find that the month after month 11 does not contain a major solar term I can immediately call it a leap month. Since there can only be one leap month in a suì, the rest of the months in the suì are determined and it doesn't matter if there are more months in the suì not containing a major solar term.

There is also a "rule" that says the month number in a regular month is determined by the major solar term contained in the month. For example, month 1 must contain Z1, month 2 must contain Z2 and so on. This is another rule of thumb that is true most of the time but can fail on rare occasions. We can only say for sure that month 11 must contain Z11 because it is imposed by Rule 4. This "rule" clearly fails when there are two major solar terms in a month, which happens twice in N2033! This "rule" also fails in the case of fake leap months. As seen from the table above, in N2033, month 8 does not contain Z8; month 9 does not contain Z9; month 10 does not contain Z10; month 1 in N2034 does not contain Z1.

These two "fake rules" were old rules before the 1645 calendar reform. As discussed in the solar term page, the 24 solar terms before 1645 were defined using píngqì (based on the mean motion of the Sun) and a month could have at most one major solar term. There are 12 major solar terms in a suì. It is easy to show that each of the regular months in a suì must contain exactly one major solar term and there can only be one month in a leap suì that does not contain a major solar term. Hence any month that does not contain a major solar term must be a leap month and fake leap months cannot exist. Since month 11 must contain Z11 and there cannot be more than one major solar term in a regular month, it follows that month 12 must contain Z12, month 1 must contain Z1 and so on. As a result, the two rules were true if the major solar terms were defined using píngqì. They were no longer true when píngqì was abandoned after the 1645 calendar reform.

A fake leap month is clearly associated with a month with two major solar terms. In the new system, there can be two major solar terms in a month and a fake leap month appears. The old rules are no longer compatible with the new system. A new rule, i.e. Rule 5, was created to handle the new situation around 1645.

The calendar reform in 1645 was carried out by a Jesuit missionary called Johann Adam Schall von Bell. The appearance of two major solar terms in a month and fake leap months upset many intellectuals at the time. Aslasksen's article points out that Chinese astronomy was not necessarily inferior to Western astronomy at that time. He thinks that none of the Jesuits was a better astronomer than Guō Shǒujìng, a famous Chinese astronomer in the 13th century. However, in the 17th century the Chinese officials responsible for calendar calculation in the imperial court did not understand their traditional calendar very well. Their positions had become hereditary. The Jesuits eventually gained the upper hand and won the debate.

Back to the calendar rules page