Pali Canon for Claude

Uposatha and festival calendar

The uposatha and festivals tools say when the uposatha (observance) days and the main Theravāda festivals fall, for four traditions. They work offline.

Every date is computed, not official. Each answer gives the rule it used and is labelled status: "computed". National authorities, Sangha bodies and individual monasteries publish the dates they actually keep, and these can differ, usually by one day. If a date matters, check the list your monastery or government publishes.

What you can ask

Tool Input Output
uposatha from, to (YYYY-MM-DD, up to two years apart), tradition Every full-moon, new-moon and half-moon (8th day) observance day, with its weekday, lunar day and lunar month
festivals year, tradition Māgha Pūjā, Vesak (Visākha Pūjā), Āsāḷha Pūjā, start and end of the Rains Retreat (Vassa), Pavāraṇā and the Kaṭhina season, each with the canonical texts associated with it

Traditions: thai-mahanikaya, thai-dhammayut, myanmar, sri-lanka. Years 1950–2100.

The four reckonings

The traditions do not use one calendar. They differ in how they count months and in which day they call the full moon. All times are local: Thailand UTC+7, Myanmar UTC+6:30, Sri Lanka UTC+5:30.

Thai Mahānikāya: the Thai lunar calendar

The Thai civil lunar calendar, the one printed in Thai diaries and used for public holidays.

The code is a JavaScript port of splendidmoons by Gambhiro Bhikkhu (MIT), which follows J. C. Eade’s published rules; see its explanation.

Thai Dhammayut: Pakkhagaṇanā

The Dhammayut order counts fortnights with Pakkhagaṇanā (ปักขคณนา), a reckoning designed to stay closer to the real moon than the civil calendar. Fortnights of 14 or 15 days are laid out on a counting board in nested cycles (of 16,168, 1,447, 251, 59 and 15 days) from an epoch of 28 January 1736. Uposatha falls on the 8th and the last day of each fortnight. As a result, some Dhammayut uposatha days differ from the Mahānikāya ones by one day, earlier or later. In 2024–2026 there are 40 such days: on 14 the Pakkhagaṇanā day is one day earlier (for example 8 August 2025, against 9 August), on 26 one day later.

The code is a port of PakDate in pythaidate by Mark Hollow (MIT). Every Dhammayut day also gives mahanikaya_date, the matching Mahānikāya day, so you can see where the two differ. Festival months follow the Thai lunar calendar; each festival takes the Dhammayut full moon nearest the Mahānikāya one. Where the two differ, festivals also gives mahanikaya_date (mahanikaya_start and mahanikaya_end for the Kaṭhina season), names those festivals in a note, and repeats the caveat about Wat Metta’s lists (below).

Myanmar: the Burmese calendar

The code is a port of ceMmDateTime.js by Yan Naing Aye (MIT), which documents the algorithm in Algorithm, Program and Calculation of Myanmar Calendar. Only the rules of the third era and of the second era (1217–1311 ME, needed for January–March 1950) are ported, which is why the tools start at 1950.

Sri Lanka: poya days

Sri Lankan poya days follow the lunar day (tithi). One tithi is the time it takes the moon to move 12° further ahead of the sun. The full-moon tithi (pūrṇimā) runs from an elongation of 168° to the full moon at 180°.

The astronomy follows Jean Meeus, Astronomical Algorithms (2nd edition, 1998):

Festival rules

Festival Thai (both orders) Myanmar Sri Lanka
Māgha Pūjā Full moon of month 3 (month 4 in an adhikamāsa year) Not given (see below) Navam poya
Vesak / Visākha Pūjā Full moon of month 6 (7 in an adhikamāsa year) Full moon of Kason Vesak poya
Āsāḷha Pūjā Full moon of month 8 (the second 8 in an adhikamāsa year) Full moon of (second) Waso Esala poya
Vassa begins The next day The next day The next day
Pavāraṇā / Vassa ends Full moon of month 11 Full moon of Thadingyut Vap poya
Kaṭhina season From the day after Pavāraṇā to the full moon of month 12 To the full moon of Tazaungmon To Il poya

Myanmar and Māgha Pūjā. Māgha Pūjā is not among the full-moon public holidays in the official Myanmar lists for 2024–2026, and no published source was found that names the Burmese full moon on which it is kept. The tool returns date: null with that reason rather than guess a month.

The traditions do not always agree on the month. In 2026 Sri Lanka keeps Vesak on 1 May, Myanmar on 30 April and Thailand on 31 May. Thailand has a second Āsāḷha month that year, and Sri Lanka an Adhi Poson.

Texts linked to each festival

Each festival returns the texts associated with it, resolved to the bundled Pāli canon. A test checks that every citation resolves to the intended text.

Festival Texts
Uposatha Kd 2 (Uposathakkhandhaka), AN 3.70 (Uposathasutta), AN 8.41 (Saṅkhittūposathasutta)
Māgha Pūjā DN 14 (contains the Ovāda-pāṭimokkha), Dhp 183–185
Vesak MN 123, Ud 1.1, Kd 1, DN 16
Āsāḷha Pūjā SN 56.11 (Dhammacakkappavattanasutta), SN 22.59 (Anattalakkhaṇasutta), Kd 1
Vassa begins Kd 3, which rules that the earlier rains residence is entered on the day after the Āsāḷha full moon (paraphrase; a test checks the passage is in the bundled Kd 3)
Vassa ends, Pavāraṇā Kd 3, Kd 4 (Pavāraṇākkhandhaka), SN 8.7 (Pavāraṇāsutta)
Kaṭhina Kd 7 (Kaṭhinakkhandhaka)

The canon itself does not say that the birth, awakening and passing fell on the Vesākha full moon, that the first discourse was given on the Āsāḷha full moon, or that the Ovāda-pāṭimokkha was taught on the Māgha full moon. Those dates come from the commentaries and tradition. The tools say so in an association note and do not present them as scripture.

Checked against published calendars, 2024–2026

The reference dates are in tests/fixtures/calendar-reference.json, with the URL of each source. They were copied from the sources, not computed. tests/calendar.test.mjs compares them with the computed dates.

Tradition Published source Result
Thai Mahānikāya splendidmoons Mahānikāya calendar: 148 uposatha days and 18 festival days All match
Thai Mahānikāya festivals Festival lines of the Wat Metta lists (below) All 15 match
Thai Dhammayut festivals The same 15 Wat Metta festival lines 12 match. The other 3 (Vesak 2025, Vassa end 2025, Vassa end 2026) are from May 2025 on; the published date is the one the tool returns as mahanikaya_date, and the output says so
Thai Dhammayut Metta Forest Monastery (Wat Metta), “Uposatha dates for the Dhammayut Order in Thailand”: 2024, 2025, 2026; 148 days 131 match; 17 explained below
Sri Lanka Government gazettes under the Holidays Act: No. 2341/46 (2024), No. 2395/33 (2025), No. 2438/22 (2026); 37 full-moon poya days with their names All match, including Adhi Poson 2026
Myanmar Department of Civil Aviation, Aeronautical Information Services, “Myanmar Public Holidays for Year …”: AIC A 03/2024, AIC A 03/2025, AIC A 03/2026; full moons of Tabaung, Kason, Waso, Thadingyut (Lighting Festival) and Tazaungmon, 15 holidays. Second check for 2025: Bank of Ayudhya (Krungsri), Yangon office, public holidays in Myanmar 2025 All 11 one-day holidays equal the computed full moon; the 4 multi-day holidays contain it. The Krungsri 2025 list agrees

The 17 Dhammayut differences

Wat Metta’s lists match the Pakkhagaṇanā count exactly from January 2024 to April 2025. That includes the 21 days marked with an asterisk (“the Mahānikāya dates fall one day earlier”), where Pakkhagaṇanā and the civil calendar really do differ.

From May 2025 Wat Metta gives the Mahānikāya date on every day where the two reckonings differ. These 17 days are:

Its 2026 list says the dates are “for both the Dhammayut Order and the Mahānikāya Order in Thailand”. So the published list stopped following Pakkhagaṇanā that month. Pakkhagaṇanā itself did not change.

The tool keeps the Pakkhagaṇanā day and reports the Mahānikāya day next to it, because the reason for the change was not found in any source. The test lists the 17 days. It fails if any other difference appears, or if any of the 17 is not the Mahānikāya date.

Myanmar reference

The official lists are circulars of the Department of Civil Aviation, the only government lists of Myanmar public holidays for 2024–2026 that could be retrieved. They are plain PDFs. No web-archive copy of them exists, so the fixture records each file’s SHA-256 as retrieved on 2026-11-01; anyone can download the PDF and compare. The 2024 list prints the Waso holiday as “Beginning of Buddhist” (the word after it is cut off); its date is the Waso full moon.

One-day holidays must equal the computed full moon. The Lighting Festival (Thadingyut) and, in 2026, Tazaungmon are given as two- or three-day ranges, so for those the test checks only that the full moon falls inside the range.

An earlier version of the fixture used the Krungsri bank-holiday page for 2026. That page is now behind a bot check and was never archived, so it has been replaced by the government list.

Not checked

Limits

Code and licences

src/calendar.mjs is plain JavaScript with no data files or network access. It contains ports of three MIT-licensed programs: splendidmoons (© 2023 Gambhiro Bhikkhu), pythaidate (© 2023 Mark Hollow) and ceMmDateTime.js (© 2018 Yan Naing Aye). Their notices are in THIRD_PARTY.md.