Almanacs and the Manseryeok: From Printed Tables to Code
For centuries, anyone who wanted a day's pillar, lunar date or solar term opened a printed almanac. Haru keeps the same information but computes every line from the positions of the sun and the moon.
The almanac and the ten-thousand-year calendar
An almanac (in Korean chaengnyeok, 책력 冊曆) is a calendar book for one year. Alongside the ordinary dates it lists the lunar date, the sixty-cycle pillar of each day and month, and the moments of the 24 solar terms. Farmers used it to follow the season; households used it for festivals and family rites.
A manseryeok (만세력 萬歲曆, literally a ten-thousand-year calendar) is the same information bound for many years at once. Because a Four Pillars chart needs the pillars of a birth date that may lie decades back, the manseryeok became the standard desk reference for anyone working with charts.
What one line holds
A single almanac entry answers a handful of questions: which solar date, which lunar date, which day, month and year pillars, and which solar term the day belongs to. The rows below are exactly that, generated by haru's engine for a few days of 2026.
- 2026-01-01 still carries the year pillar 乙巳: the pillar year changes at lichun, not on New Year's Day.
- On 2026-06-21 the summer solstice arrives at 17:24 KST, so at noon that day still belongs to 芒種.
- The lunar month holding 2026-06-21 has 29 days; the others in this table have 30.
| Solar date | Lunar date | Day | Month | Year | Solar term period |
|---|---|---|---|---|---|
| 2026-01-01 | 2025, month 11, day 13 | 乙亥 | 戊子 | 乙巳 | 冬至 Winter Solstice |
| 2026-02-17 | 2026, month 1, day 1 | 壬戌 | 庚寅 | 丙午 | 立春 Start of Spring |
| 2026-06-21 | 2026, month 5, day 7 | 丙寅 | 甲午 | 丙午 | 芒種 Grain in Ear |
| 2026-09-25 | 2026, month 8, day 15 | 壬寅 | 丁酉 | 丙午 | 秋分 Autumn Equinox |
| 2026-09-30 | 2026, month 8, day 20 | 丁未 | 丁酉 | 丙午 | 秋分 Autumn Equinox |
| 2026-12-22 | 2026, month 11, day 14 | 庚午 | 庚子 | 丙午 | 冬至 Winter Solstice |
Why a date is not always enough
Printed tables usually give the day of a solar term, sometimes the hour. For most purposes that is fine. For the pillars it is not always: in 2026 lichun falls at 05:02 KST on 4 February, so a birth at 03:00 that morning is still in the year 乙巳 and the month 己丑, while a birth at 09:00 the same day is in 丙午 and 庚寅. A book that only says 'lichun, 4 February' cannot settle that case.
Time zones add another layer. A table printed for one country states its moments in that country's clock. A birth somewhere else, or during a period of summer time, needs converting, and a single wrong hour near a term boundary changes the month pillar.
How haru computes instead of looking up
- The sun: an abridged VSOP87 series gives the Earth's heliocentric longitude; haru turns it into the sun's apparent longitude (add 180 degrees, step to the FK5 frame, add nutation and aberration) and converts clock time to dynamical time with delta T.
- The solar terms: the engine searches for the moment the sun's longitude reaches each multiple of 15 degrees, starting from lichun at 315 degrees.
- The moon: new moons come from the series in Jean Meeus, Astronomical Algorithms, chapter 49.
- The clock: lunar dates are fixed in Korean standard time (UTC+9), because the new moon's date depends on the zone in which it is counted.
- The day pillar: a continuous day count, so the sixty-day cycle never needs a table.
A computed page for 2027
Because nothing is printed, next year is as easy as this one. Here are the twelve 'jie' terms of 2027, each of which opens a month pillar. Compare lichun: 05:02 in 2026 and 10:46 in 2027, 5 hours 44 minutes later, because a solar year is about a quarter of a day longer than 365 days.
| Term | Sun's longitude | Moment (KST) | Month branch it opens |
|---|---|---|---|
| 立春 Start of Spring | 315 | 2027-02-04 10:46 | 寅 |
| 驚蟄 Awakening of Insects | 345 | 2027-03-06 04:39 | 卯 |
| 清明 Clear and Bright | 15 | 2027-04-05 09:17 | 辰 |
| 立夏 Start of Summer | 45 | 2027-05-06 02:25 | 巳 |
| 芒種 Grain in Ear | 75 | 2027-06-06 06:26 | 午 |
| 小暑 Minor Heat | 105 | 2027-07-07 16:37 | 未 |
| 立秋 Start of Autumn | 135 | 2027-08-08 02:27 | 申 |
| 白露 White Dew | 165 | 2027-09-08 05:28 | 酉 |
| 寒露 Cold Dew | 195 | 2027-10-08 21:17 | 戌 |
| 立冬 Start of Winter | 225 | 2027-11-08 00:38 | 亥 |
| 大雪 Major Snow | 255 | 2027-12-07 17:37 | 子 |
| 小寒 Minor Cold | 285 | 2028-01-06 04:55 | 丑 |
A little history
Korean almanacs of the late Joseon period followed the Shixian calendar (時憲曆, 시헌력), which Korea adopted in the mid-seventeenth century. The Gregorian calendar became the official civil calendar at the start of 1896. The lunar calendar never disappeared: festivals such as Seollal and Chuseok still follow it, and today Korea's national astronomy institute publishes the official lunar dates and solar-term moments each year. Haru's figures are its own calculation and are meant to agree with those published values.
Questions
Is a manseryeok the same as an almanac?
They hold the same kind of information. An almanac covers one year; a manseryeok gathers many years so pillars of past dates can be looked up.
Can haru's dates differ from a printed manseryeok?
Occasionally, around a term boundary or a new moon near midnight, especially if a table was printed for a different time zone. Haru states the exact KST moment so the reason is visible.
Why does the year pillar not change on 1 January?
In the pillar system the year begins at lichun, the moment the sun reaches 315 degrees, which falls in early February.
Does haru need an internet table?
No. The sun, moon and day count are all computed by the engine itself.
Read next
Traditional Four Pillars (myeongni) and yin-yang five-element interpretation. Not a medical diagnosis or advice.