# Chinese Festival Dates Calculator

> Lists the Gregorian dates of the traditional Chinese festivals falling in a Gregorian year (春节, 元宵节, 龙抬头, 上巳节, 清明节, 端午节, 七夕, 中元节, 中秋节, 重阳节, 寒衣节, 下元节, 冬至, 腊八节, 小年, 除夕), the three 伏 periods (三伏 sanfu) counted by 庚 days from the summer solstice, and the nine 数九 (shujiu) periods from the winter solstice.

- Calculator id: `chinese-festivals` · Category: Chinese Calendar (`lunar`) · Tool name: `list_chinese_festivals`
- Canonical page: https://tttkmbb.com/lunar/chinese-festivals · This document: https://tttkmbb.com/lunar/chinese-festivals.md · JSON definition: https://tttkmbb.com/lunar/chinese-festivals.json

## Purpose

Lists the Gregorian dates of the traditional Chinese festivals falling in a Gregorian year (春节, 元宵节, 龙抬头, 上巳节, 清明节, 端午节, 七夕, 中元节, 中秋节, 重阳节, 寒衣节, 下元节, 冬至, 腊八节, 小年, 除夕), the three 伏 periods (三伏 sanfu) counted by 庚 days from the summer solstice, and the nine 数九 (shujiu) periods from the winter solstice.

**Use when:** You need the date of a Chinese festival, Chinese New Year's Eve, the dog days (三伏) or the 数九 cold periods in a given year, e.g. for planning or a calendar.

**Do not use when:** You need the festival on one specific date (use lunar-calendar-converter), a single lunar date's Gregorian equivalent (use lunar-to-solar), or Western movable feasts (use easter-date).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `year` | integer |  | required | Gregorian calendar year (1900–2100). (min 1900, max 2100) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `festivals` | list |  | Rows in date order: name_cn, name_en, lunar_or_solar_rule, gregorian_date, weekday. 12th-month festivals belong to the previous lunar year; in some years 腊八 occurs twice or not at all within the Gregorian year. |
| `chinese_new_year` | date |  | 正月初一 of the lunar year starting in this Gregorian year. |
| `chinese_new_year_eve` | date |  | Last day of the previous lunar year (the day before Chinese New Year). |
| `dragon_boat_festival` | date |  | 五月初五. |
| `mid_autumn_festival` | date |  | 八月十五. |
| `lunar_year_span` | string |  | Ganzhi, animal and Gregorian span of the lunar year that starts in this Gregorian year. |
| `sanfu` | object |  | first_fu_start (初伏), mid_fu_start (中伏), mid_fu_days (10 or 20), last_fu_start (末伏), fu_end (出伏, first day after 末伏), total_days, summer_solstice, liqiu. |
| `sanfu_text` | string |  | The three periods in one line. |
| `shujiu` | list |  | 9 rows from the winter solstice day: period_cn (一九 … 九九), period, start_date, end_date. |

## Formula

`lunar festivals: Gregorian date of the fixed lunar month/day (regular months only); 清明 and 冬至: solar-term dates; 初伏 = 3rd 庚 day counting from the summer solstice day (inclusive), 中伏 = 4th 庚 day, 末伏 = first 庚 day on/after 立秋, 出伏 = 末伏 + 10 days; 数九: 9 periods of 9 days starting on the winter solstice day`

Dates are civil dates at UTC+8. 中伏 lasts 20 days when five 庚 days fall between the summer solstice and 立秋 (30- or 40-day 三伏). The 数九 count starts on the solstice day itself (the common modern rule; some old almanacs start on the first 壬 day after it). Traditional calendar/cultural reference calculation; not a prediction, medical, legal or financial advice.

## Data Sources

- Chinese calendar (Wikipedia) – calendar rules as standardised in GB/T 33661-2017 — https://en.wikipedia.org/wiki/Chinese_calendar (reference, retrieved 2026-09-24)
- 三伏 Sanfu (Chinese Wikipedia) — https://zh.wikipedia.org/wiki/三伏 (reference, retrieved 2026-09-24)
- Hong Kong Observatory – Gregorian-Lunar Calendar Conversion Table — https://www.hko.gov.hk/en/gts/time/conversion.htm (government, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/chinese-festivals?year=…`
- `POST https://tttkmbb.com/api/v1/calculate/chinese-festivals` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/chinese-festivals · OpenAPI operationId `list_chinese_festivals` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "chinese-festivals", "inputs": {…}}`

## Example

- 2024: inputs `{"year":2024}` → `{"chinese_new_year":"2024-02-10","dragon_boat_festival":"2024-06-10","mid_autumn_festival":"2024-09-17","chinese_new_year_eve":"2024-02-09","sanfu":{"first_fu_start":"2024-07-15","mid_fu_start":"2024-07-25","mid_fu_days":20,"last_fu_start":"2024-08-14","fu_end":"2024-08-24"}}`
- 2025: inputs `{"year":2025}` → `{"chinese_new_year":"2025-01-29","dragon_boat_festival":"2025-05-31","mid_autumn_festival":"2025-10-06","sanfu":{"first_fu_start":"2025-07-20","mid_fu_start":"2025-07-30","mid_fu_days":10,"last_fu_start":"2025-08-09"}}`

```
GET https://tttkmbb.com/api/v1/calculate/chinese-festivals?year=2024
```

## Limitations

You need the festival on one specific date (use lunar-calendar-converter), a single lunar date's Gregorian equivalent (use lunar-to-solar), or Western movable feasts (use easter-date). Dates are civil dates at UTC+8. 中伏 lasts 20 days when five 庚 days fall between the summer solstice and 立秋 (30- or 40-day 三伏). The 数九 count starts on the solstice day itself (the common modern rule; some old almanacs start on the first 壬 day after it). Traditional calendar/cultural reference calculation; not a prediction, medical, legal or financial advice. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why are 腊八 and 小年 listed with the previous lunar year?**

They fall in the 12th lunar month (腊月), which belongs to the lunar year that started the previous Chinese New Year but is dated in January or February of this Gregorian year. When Chinese New Year is on 21–22 January, 腊八 falls in late December of the previous Gregorian year instead.

**How are the 三伏 dates counted?**

Count 庚 days (every 10th day of the sexagenary day cycle) from the summer solstice, including the solstice itself if it is a 庚 day: the third is 初伏 and the fourth is 中伏; 末伏 starts on the first 庚 day on or after 立秋, so 中伏 lasts 10 or 20 days.

**Is 清明 a lunar festival?**

No. 清明节 is the solar term 清明 (Sun at 15°), which falls on 4–6 April; 冬至 (21–23 December) is likewise a solar-term festival.

## Related

- [Lunar to Solar Date Converter](https://tttkmbb.com/lunar/lunar-to-solar.md) — Gregorian date of any other lunar month/day.
- [24 Solar Terms Calculator (二十四节气)](https://tttkmbb.com/lunar/solar-terms.md) — Exact instants of 清明, 夏至, 立秋 and 冬至 used here.
- [Days Until Calculator](https://tttkmbb.com/everyday/days-until.md) — Countdown to a festival date.
