Thai Lunar Calendar 101

Thai Lunar Calendar 101

Preface

The Thai Lunar Calendar is very different from the western Gregorian calendar. Familiarity with it will help readers understand the dates used Thai newspapers on this site.

This article only covers the basics. For a more complete description see J.C. Eade’s book “The Calendrical Systems of Mainland South-East Asia.”

Notable Thai Calendars

The most commonly encountered calendars in Thailand over the last few hundred years are:

  • Thai Lunar / Chulasakarat (จุลศักราช) Epoch: March 22, 638 AD. In use since the 15th century AD, possibly much earlier in some regions.

  • Rattanakosin / รัตนโกสินทรศก Epoch: April 6, 1782 AD (start of the Chakri Dynasty). Used during the reigns of King Chulalongkorn (Rama 5) and King Vajiravudh (Rama 6).

  • Buddhist / พุทธศักราช Epoch: March 11, 543 BC (year of Buddha’s death). The is the modern Thai calendar. Days, months and years align with the Gregorian calender but the year numbering is counted from the death of Buddha.

Additionally the Pakkhakhananaa calendar (ปฏิทินปักขคณนา), a lunar calendar, is used by the Dhammayut sect of the Thai Sangha to accurately determine days of observance.

Types of Calendars

  • Lunar These are based on monthly cycle of the moon’s phases (lunation), each lunation is approximately 29½ days. Lunar calendars therefore typically alternate 29 and 30 month durations. Lunations don’t fit exactly into Solar years: 12 months is 354 days
    Example: Thai Pakkhakhananaa Calendar (ปฏิทินปักขคณนา)

  • Solar Follows the solar cycle of approximately 365¼ days per solar year. Most solar calendars are divided into 12 months which do not correspond to lunations. Intercalary (leap) days are added on leap years approximately every 4 years.
    Examples: Gregorian (western) Calendar, the modern Buddhist Calendar (พุทธศักราช)

  • Lunisolar A calendar where months are based on the lunar cycle. Intercalary days and months are added periodically to bring the lunar cycle in line with the solar year.
    Example: Thai lunar (lunisolar) calendar, other Southeast Asian calendars (Burmese, Chulasakarat etc)

Origin

The Thai Lunar Calendar is based on the Burmese and Chulasakarat calendars which developed from the Hindu Suriya Yatra and Indian Surya Siddanta calendars.

The epoch (start date) is 22nd March 638 AD. Some references state the epoch year as 639 AD but there’s a year zero in Asian calendars making 638 AD the correct year.

Indian calendars have a cycle of 4,320,000 years totalling 1,577,917,800 days. The full cycle is from one total planetary alignment to the next. Southeast Asian Calendars reduce these numbers, dividing by 5,400 equating to a full planetary alignment except for a 90° offset of the moon. This is calculated as:

4,320,000 ÷ 5400 = 800 years
1,577,917,800 ÷ 5400 = 292,207 days
292,207 ÷ 800 = 365.25875 average days per year over a period of 800 years.

The Gregorian calendar averages 365.2425 days per year.

Phases of the Moon

Moon Phase Diagram

Moon Phase Diagram

These are the shape of the Moon’s sunlit portion as viewed from the Earth. A New Moon is when none of the moon is visible, and a full moon is when the whole face of the moon is illuminated. A half moon is, as the name suggests, when half of the moon face is visible.

Between the new moon and full moon, the moon is said to be in the waxing phase (ขึ้น), and from full moon back to new moon, the moon is in the waning (แรม) phase.

Buddhist sabbaths (วันพระ) fall on new, full & quarter moons, so approximately every 7 days.

The Thai lunar calendar assumes the moon has a 19 year “metonic” period where the lunar phases repeat on nearly the same calendar dates, because 19 solar years is almost exactly equal to 235 lunar months

Years

Years are counted from zero in Southeast Asian calendars, unlike the Gregorian calendar where 1 B.C. ends and the calendar skips straight to 1 A.D.

Years can have three possible durations:

  • 354 days corresponding to 12 months of alternating 29 or 30 days
  • 355 days where an intercalary day is added Known as adhikavara (อธิกวาร) and is added to the end of the 3rd month, which is month 7 in Sukothai/Bangkok numbering. There are 11 intercalary days per 57 year cycle.
  • 384 days where an intercalary month is added Known as adhikamat (อธิกมาส) and is added after the 4th month, which is month 8 in Sukothai/Bangkok numbering. There are 21 intercalary months per 57 year cycle.

It is not allowed to have both an intercalary day and an intercalary month in the same year in the Thai calendar, although this can occur in the Burmese calendar.

This aligns closely with the Gregorian Calendar, just a few hours difference over 57 years (3 metonic cycles):

Chulasakarat Calendar:
Regular years: 25 x 354 = 8,850 days
Years with intercalary days: 11 x 355 = 3,905 days
Years with intercalary months: 21 x 384 = 8,064 days
Total: 20,819 days

Gregorian Calendar: 57 x 365.2425 average days/pear = 20,818.8225 days

20,819 - 20,818.8225 = 0.1775
86,400 seconds in a day * 0.1775 = 15,336 seconds
= 4 hours, 15 minutes, and 36 seconds.

Years follow a 12 year cycle of animals (modern spellings):

EnglishThai
Ratปีชวด
Oxปีฉลู
Tigerปีขาล
Rabbitปีเถาะ
Nāgaปีมะโรง
Snakeปีมะเส็ง
Horseปีมะเมีย
Goatปีมะแม
Monkeyปีวอก
Roosterปีระกา
Dogปีจอ
Pigปีกุน

The first day of the year never falls on the first day of the first month (month five). It will start on the 6th day at the earliest, and as late as the 5th of the second month (month six).

Months

Although months do have names (as per the table below) they are commonly referred to by number, e.g. “month 5 / เดือน ๕”.

The numbering starts with either 5, 6, or 7 depending on the location of the calendar. The Bangkok-based newspapers all use the Sukothai, 5-based numbering system.

No.MonthSukothai
สุโขทัย
Chiang Tung
เชียงตุง
Chiang Mai
เชียงใหม่
1stจิตร567
2ndวิสาข678
3rdเชษฐ789
4thอาสาฬห8910
5thสาวน91011
6thภัทรบท101112
7thอัศวยุช11121
8thกัตตกา1212
9thมิคสิร123
10thปุสส234
11thมาฆ345
12thผัคคุณ456

Intercalary months would normally be listed (for 5-based month numbering) as ๘/๘ or simply ๘๘.

Reading Chulasakarat Dates

These examples are from the Bangkok Recorder 1865-67:

เดือน ๕ แรม ๕ ค่ำ จ.ศ.๑๒๒๗

Month 5, waning 5, C.S. 1227

เดือน ๘ ขึ้น ๘ ค่ำ จ.ศ.๑๒๒๗

Month 8, waxing 8, C.S. 1227

เดือน ๘ ขึ้น สิบ ห้า ค่ำ ปีขาน อัฐ ศก จุลสักราช ๑๒๒๘

Month 8, waxing 5, year of the tiger, chulasakarat 1228

However, note this last date (from Volume 2, issue 11) is notated incorrectly. This is an intercalary month so “เดือน ๘” should be notated “เดือน ๘/๘” or “เดือน ๘๘”

Ambiguities

Although the mathematics behind these calendars is simple, there is an ambiguity with the allocation of intercalary days when the maths says they should occur in the same year as intercalary months. Traditionally this has been decided by monks with knowledge of the astrological scriptures but has been very subjective with documented instances of temples disagreeing with each other leading to regional differences.

In the long term, the calendars follow the 19 year metonic cycles so will eventually converge until perhaps the a later intercalation.

Programmatic Calculations

For programmers, I’ve written a python library, pythaidate, for performing conversions between Gregorian, Chulasakarat, and Pakkhakhananaa calendars. It is accurate to the 57 year/3 metonic cycle period and has a test suite of over 1.1 million date comparisons. It implements an algorithm suggested by J.C. Eade for determining the placement of intercalary days.

Example

>>> from pythaidate import CsDate, date
>>> 
>>> today = date(2025, 12, 26)
>>> cs = CsDate.fromjulianday(today.julianday)
>>> print(cs.csformat())
นศกร เดอน ึ้ำ ปมะเสง จ..๑๓๘๗

References

English

  • Thai Lunar Calendar Wikipedia
  • Chula Sakarat Wikipedia
  • Eade, J.C. (1995). The Calendrical Systems of Mainland South-East Asia (illustrated ed.). Brill
  • Busyakul, Visudh (2004). “Calendar and Era in use in Thailand” (PDF). Journal of the Royal Institute of Thailand (in Thai). 29 (2, April–June). Bangkok: Royal Institute of Thailand: 468–78

Credits