Introduction to Chinese Calendars

Shih Lin
System Analyst,
Computing Centre,
Academia Sinica

Jan 21, 1999

1. First Look

Modern Chinese sometimes call the Chinese calendar a "lunar calendar"(陰曆), since it is composed of lunar months. But it is not merely a lunar calendar. We also call the Chinese calendar an "agriculture calendar"(農曆). As we all know, agricultural activities are highly related to the climate, the seasons and so to the sun, rather than the moon. This implies that the Chinese calendar must be in some aspect a "solar calendar". Chinese farmers have counted on it to raise crops for thousands of years. Even now, some of the Chinese farmers still use it. There is a periodical rule for numbering days called "tian-gan-di-zhi"(天干地支) or "gan-zhi"(干支), sixty days per cycle, independent of years and months. These cycles have lasted for more than three thousand years without any mistake, so it could be a reliable reference to check some specific dates. The Chinese calendar is therefore a combination of solar and lunar calendars associated with the gan-zhi numbering rule.

2. Solar and Lunar Cycles

It's clear that to compile the Chinese calendar is more complex than the western calendar. The ancient Chinese needed to know the periods of solar and lunar movement relative to their world(the earth), of course, but they also had to find some way to integrate both periods. Before the modern astronomy came in, Chinese believed their world was steady and all heavenly bodies surrounded them. I have looked into their concept about the solar movement. They used two measurements for the periods:

      the number of days in a solar year                 = 365 + 1/4
      the number of lunar months in 19 (solar) years     = 235

Ancient Chinese liked to use fractions rather than fixed point numbers. I will follow their convention. It seems that both measurements occurred a very long time ago, earlier than two thousand years ago at least.

From these, we have

      the average number of days of a lunar month = (365 + 1/4)*19/235
                                                  = 29 + 499/940

Both 365 + 1/4 and 29 + 499/940 are good measurements according to the technical level of our ancestors. The former causes an one day error after 130 years. The later causes the same error after about 309 years.

Also that

      the number of lunar months in a solar year = 235/19 = 12 + 7/19

So a Chinese year usually contains 12 lunar months, and 7 years from every 19 have a leap month. On average, we have a leap year(with a leap month) about every three years. This is well known to contemporary Chinese, but most of us don't know it was decided so early. The relation between 19 and 235 is so important that our ancestor gave it the name "zhan"(章).

The start of a Chinese year is derived from the start of the solar cycle(歲 首), and the start of a solar cycle is the winter solstice. Why is that? Ancient Chinese observed the solar cycle with a pole. They measured the length of its shadow at fixed time every day. When the shadow becomes the longest, the winter solstice arrives. The start month(正月) of a Chinese year is set relative to the month with the winter solstice -- the "base month"(子月). After 104 B.C., the start months are mostly the second month from the base. Before 104 B.C., the distances in month between the start and the base months are as below.

                Era              Distance from Base Month
        after 104 B.C.                   +2(寅月)
        from 秦 dynasty to 105 B.C.      -1(亥月)
        Zhou(周) dynasty                  0(子月)
        商 dynasty                       +1(丑月)
        夏 dynasty                       +2(寅月)
Fig 1. Positions of Start Months in Different Eras

From the winter solstice, a solar cycle is (usually) divided equally into twelve segments which do no correspond to whole days:

      (365 + 1/4)/12 = 30 + 7/16 

Each segment is similar to a solar month. The beginning point of it is called "zhong-qi"(中氣). Further more, the midpoint of a segment is so-called "jie-qi"(節氣). The names for the twelve zhong-qi points and the twelve jie-qi midpoints are listed below in order:

          1   2   3   4   5   6   7   8   9  10  11  12
        冬至 小寒 大寒 立春 雨水 驚蜇 春分 清明 穀雨 立夏 小滿 芒種
          13  14  15  16  17  18  19  20  21  22  23  24
        夏至 小暑 大暑 立秋 處暑 白露 秋分 寒露 霜降 立冬 小雪 大雪

Farmers take actions according to them, not to the solar months. That's why the Chinese calendar is a agriculture calendar.

Now, we may explain when to add a leap month. First, check the thirteen months from the start month. If there is a month without a zhong-qi point in it, the year will need a leap month. The month lack of a zhong-qi point is usually the leap month after 104 B.C..

We refer to a month by ordinal. If a leap month is next to the fifth month, it is "the extra fifth month"(閏五月) rather than "the sixth month". Before 105 B.C., the rule seems not so stable. A leap month was put to the last month of a year sometimes.

Since a Chinese year is controlled mostly by the solar cycle, obviously, it may be mapped to a western year roughly. Unlike western years, the Chinese years are not simply associated with serial numbers. You must give the dynasty name, the title(諡號 or 廟號) of the emperor(king), the period(年號) if necessary, and finally the ordinal. Some emperors divided their reigns into periods, perhaps for propitious reasons. For example,

        Dynasty  Title of Emperor  Period  Ordinal
          Zhou        敬王                   53
          Han(漢)     武帝          元封      3

Perhaps it is not a bad ideal to have such complicated formulas. It forces us to have some understanding to our history.

We haven't looked inside a month yet. The start of a month is the day before the new moon appears(朔). Following the measurement 29 + 499/940, a minor month always has 29 days and a major one has 30. However, the rule for specifying minor and major months changed several times. You will see a simple example soon.

3. Gan-zhi Cycle

There is a fixed daily cycle of 60 days, independent of the lunar and solar cycles, called the gan-zhi cycle. The gan-zhi cycle is the combination of the "tian-gan"(天干) and the "di-zhi"(地支) cycles. The tian-gan cycle is comprised of ten Chinese characters in special order:

           甲 乙 丙 丁 戊 己 庚 辛 壬 癸
           0  1  2  3  4  5  6  7  8  9  

You may map them to the decimal digits from 0 to 9. The 地支 cycle is similar. It is comprised of 12 characters in fixed order:

           子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
           A  B  C  D  E  F  G  H  I  J  K  L

Let us map them to the alphabets from A to L.

Starting from the first character, each cycle repeats again and again. Thus, we get the sixty different combinations which are the gan-zhi cycle:

 1  2  3  4  5  6  7  8  9 10  11 12 13 14 15 16 17 18 19 20
 ----------------------------- ------------------------------
甲  乙  丙  丁  戊  己  庚  辛  壬  癸  甲  乙  丙  丁  戊  己  庚  辛  壬  癸
子  丑  寅  卯  辰  巳  午  未  申  酉  戌  亥  子  丑  寅  卯  辰  巳  午  未
 0A 1B 2C 3D 4E 5F 6G 7H 8I 9J  0K 1L 2A 3B 4C 5D 6E 7F 8G 9H 

 21 22 23 24 25 26 27 28 29 30  31 32 33 34 35 36 37 38 39 40
 ------------------------------ -----------------------------
甲  乙  丙  丁  戊  己  庚  辛  壬  癸  甲  乙  丙  丁  戊  己  庚  辛  壬  癸
申  酉  戌  亥  子  丑  寅  卯  辰  巳  午  未  申  酉  戌  亥  子  丑  寅  卯
 0I 1J 2K 3L 4A 5B 6C 7D 8E 9F  0G 1H 2I 3J 4K 5L 6A 7B 8C 9D 

 41 42 43 44 45 46 47 48 49 50  51 52 53 54 55 56 57 58 59 60
 ------------------------------ -----------------------------
甲  乙  丙  丁  戊  己  庚  辛  壬  癸  甲  乙  丙  丁 戊  己  庚  辛  壬  癸
辰  巳  午  未  申  酉  戌  亥  子  丑  寅  卯  辰 巳  午  未  申  酉  戌  亥
 0E 1F 2G 3H 4I 5J 6K 7L 8A 9B  0C 1D 2E 3F 4G 5H 6I 7J 8K 9L 

Why do I take so much time to explain? Because two thousand years ago people almost always used gan-zhi to indicate the day in a month, e.g. "(漢文帝)三 年十月丁酉" from Shi-ji(史記). It means "the 丁酉(3J) day falling in the tenth month in the third year(of 漢文帝)". If you know the gan-zhi of the first day of the tenth month, you can figure out its ordinal. If we use gan-zhi only like this, gan-zhi would be just a burden to us. On the other hand, if you can find (in a table somewhere) the first gan-zhi of the third year, you may use the gan-zhi cycle to count the number of days precisely from the start of the year, even thought you do not know how many major and minor months are before the tenth month, or whether there is a leap month or not. A gan-zhi cycle crosses two or three months. We gain many benefits from this feature. From the Han dynasty, gan-zhi was applied to years too. As you are confused by the dynasty/emperor/period/ordinal formula, the annual gan-zhi maybe will do you a favor.

4. Brief of the "Quarter" Calendar(四分曆)

Although we realize the fundamental skeleton of Chinese calendars, it's still not easy to regenerate all of them at once. Indeed, there have been many Chinese calendars. They share the same skeleton, but the parameters and rules may change a little bit in different time. For example, the parameter 365 + 1/4 is not good enough compared to 365.2425 -- the value we use now. After tens to one hundred years, the error became clear. Ancient Chinese could not tolerate this. They modified somethings, and a new calendar was issued. By the way, Chinese have used the parameter 356.2425 since fourteen century or even earlier.

Political reasons are also important. Compiling calendars is the privilege of courts. It is one of the ways to represent the harmony between the "heaven"(天) and a sovereign. When a new dynasty rose, the creator changed the calendar to show the new harmonic relation, e.g. tuning the position of start months.

The first fully-documented calendar is the "san-tong"(三統) calendar which was issued in 104 B.C.. The earlier calendars are called the "ancient calendars"(古曆). We do not know the whole details of them, but they seem close to the above skeleton. After the san-tong) calendar, there have been nearly seventy to eighty calendars in our history. It takes time to learn them all.

The Quarter calendar is named after the fractional part of the measurement 365 + 1/4. I choose it as an example, because it is almost the same as the skeleton. Its rule is clear and simple. It occurred next to the san-tong Calendar in 85 A.D. and lasted till 263 A.D.. The Quarter Calendar seems to be a recovery from the san-tong calendar to the ancient calendar, as the san-tong calendar applies some parameters worse than the ancient ones.

The parameters and rules are listed briefly:

      number of days per solar cycle     = 365 + 1/4
      number of lunar months in 19 years = 235
      average days per month             = 29 + 499/940
      average days between zhong-qi      = 30 + 7/16 
      position of leap month             : the month without zhong-qi point
      position of start month            = +2

We have learned all these in section two. We need to know two more things. One is the rule for setting major (30 days) and minor (29 days) months. As 29 + 499/940 is near 29 + 1/2 (29.53085), minor and major months usually alternate. On average, each month suffers the delay:

       499/940 - 1/2 = 29/940

If the delay accumulates to 1/2, a major month is inserted and the minor/major sequence starts again. The distance between inserted major months is 17 or 15 months.

The last parameter is the original point for calculation -- the "calendar origin" (上元). It is (always?) at the midnight of a winter-solstice day. The daily and annual gan-zhi is known at that point. For convenience, the origin might satisfy the following conditions in addition:

      beginning of lunar cycle without daily fraction
      beginning of solar cycle without daily fraction

This is a real zero point. Assume the beginning time of the first lunar cycle is 0, then the beginning time of the second cycle is 29 + 499/940. Let us call this a time coordinate with a daily fraction.

In Practice, it is quite difficult to meet such a perfect time point in our life -- 76 years a time according to the two measurements 365 + 1/4 and 19. It is reasonable to suspect that calendar designers measured the current time coordinates for both cycles, then counted back for origins. Both conditions were abandoned finally.

The values of the calendar origin for the Quarter calendar includes:

       date                      漢文帝後元三年前冬至(161 B.C.)
       annual gan-zhi            庚辰(6E)
       daily  gan-zhi            甲子(0A)

All necessary information for the Quarter calendar is given. You may start to compile the calendar, if you like.

5. Aspect

When I was ready to design a program for the conversion between the Chinese and the western calendars two years ago, I encountered two alternatives: to learn how to compile all Chinese calendars or to create a mapping table via a reference book. I knew little about Chinese calendars then, except that they seemed complex. Without much hesitation, I chose the second. My colleague took no more than two months to complete the table for two thousand years from 1 B.C. -- much more quickly than the editors of the reference book I believe. We only need to know the positions of the major, minor and leap months for every year, as well as the mapping between year ordinals and dynasty/emperor/period/ordinal hierarchies. As the dates of the Chinese and the western calendars at the original day are given, the program can generate all dates as well as daily and annual gan-zhi precisely. It was very difficult to issue a calendar reference book totally right in the pass.

It is worthwhile to learn all Chinese calendars and regenerate them with programs. The programs would not be too sophisticated. This may help to check the correctness of calendar reference books, and provide more functions such as answering the Chinese date of some zhong-qi in any year. For the ear before the Zhou(周) dynasty, perhaps there are still some arguments about how to compile an ancient calendar. The program may be designed to accept a few parameters, e.g. the original daily gan-zhi. Scholars may want to give their own parameter values to see whether the result can match more literal data or not.

Based on a paper presented to the EBTI, ECAI, SEER and PNC Joint Meeting, February, 1999, Academia Sinica, Taipei, Taiwan.

Copyright (C) 1999 Shih LIN.