Chinese almanacs divide the day into twelve two-hour blocks called 時辰 (时辰, shíchén) and label each one 黃道 (黄道, huángdào, "yellow path") or 黑道 (hēidào, "black path"), by which of twelve spirits is on duty in it. The rule that places the spirits takes one line in a Qing imperial manual. We coded that line and compared it with lunar-javascript, an open-source almanac library, on every pairing of day and hour. All 144 match. We also checked two almanac websites by hand, three October 2026 days each. Skillon, an English-language Tong Shu site, named a spirit for 26 hours, and 25 agreed with the rule. k366, a Chinese-language site, listed under 今日吉时 ("today's good hours") the rule's six yellow-path hours minus the hour that clashes with the day, on all three days.
The Green Dragon presides over a different hour for each day branch
Each day and each hour carries one of twelve earthly branches (地支), 子 to 亥; a day's branch paired with a heavenly stem is its stem-branch (干支). The manual, 欽定協紀辨方書, was commissioned in 1739, its preface dated January 1742. Its 卷七 quotes the rule from 考原, the Kangxi-era 星曆考原: 「寅申青龍起子 卯酉起寅 辰戌起辰 巳亥起午 子午起申 丑未起戌 順行十二辰」. For hours, 「子日申時起青龍」: on a 子 day the Green Dragon takes the 申 hour, 15:00–16:59, and the other eleven follow in order.
| Spirit | English gloss | Path |
|---|---|---|
| 青龍 | Green Dragon | yellow |
| 明堂 | Bright Hall | yellow |
| 天刑 | Heavenly Punishment | black |
| 朱雀 | Vermilion Bird | black |
| 金匱 | Golden Coffer | yellow |
| 天德 | Heavenly Virtue | yellow |
| 白虎 | White Tiger | black |
| 玉堂 | Jade Hall | yellow |
| 天牢 | Heavenly Prison | black |
| 玄武 | Black Tortoise | black |
| 司命 | Life Governor | yellow |
| 勾陳 | Hook Array | black |
Against the library's output for every hour from 2020 to 2029, the 23:00 hour aside, our coded rule matched all 43,836 cells. The same rule, keyed to the month's branch, places the spirits on days.
Spirits of the yellow path govern six of every day's hours
The manual takes its yellow six, marked in the table, from a source it calls 神樞經. Twelve spirits over twelve hours give every day six of each; the library's decade holds 21,918 of each. The documentation by 6tail, author of lunar-javascript, gives a mnemonic, 「道远几时通达,路遥何日还乡」. By our count, of its twelve characters the six carrying the walking radical 辶 sit exactly where the six yellow-path spirits do.
The Qing text writes 元武 for 玄武, avoiding a character in the Kangxi emperor's name, and its editors adopted the old alias 寶光 for 天德, a name another spirit shared. Skillon still prints 元武 and 宝光; 6tail's page writes 金贵 for 金匱.
A yellow-path spirit gives way on the clashing hour in k366's lists
The hour whose branch stands opposite the day's is the 時破 (shípò). The manual's rules for using hours, in 卷三十四, rank it worst: 「時破大凶日支衝時支也如子日午時之類」. It is the day clash described in how a day in the almanac is built, one level down.
On 16 October, a 亥 day, k366 listed all six yellow-path hours, since the clashing 巳 hour was black anyway. On 17 October, a 子 day, it left out the yellow 午 hour, and on 23 October it left out 子. k366 may run the same library, so it is one witness.
6tail's page says 「黄道主吉,黑道主凶」, yellow for good and black for bad. Skillon's ratings only partly follow the colour. Of the 18 hours the rule marks yellow on its pages for 5, 8 and 16 October, it rated 9 吉 (good), 3 中 (middling) and 6 凶 (bad), and no black-path hour 吉. Some of the six rated 凶 carry a clash star; others we could not explain from the page.
Late-night spirits obey tomorrow's branch in one open-source library
The 子 hour runs 23:00–00:59, across midnight, and both day starts are old. A note in 天經或問 says ordinary people began the day with the 子 hour at 23:00 (「世人但知子属本日始」), while astronomers counted from 00:00 to the end of 夜子, the late Rat hour. The official 大統曆志 also runs its day from midnight to midnight.
lunar-javascript changes the day at 23:00. Over 2020–2029 its 23:00 hour carried the next day's stem-branch and 宜/忌 (the "suitable" and "avoid" lists) on 3,653 of 3,653 days. Judged on the old day's branch, it always gets a different spirit, and a different colour on 8 of the 12 day branches. On 16 October 2026, a 亥 day, the 23:00 reading gives 金匱, yellow; the old-day reading gives 白虎, black.
Until 18 October 2026 our Chinese auspicious hours almanac showed no spirit or path label, though its title promised 吉凶. Its 23:00 row carried the next day's stem-branch and 宜/忌 while the page said it kept the previous day's, its hour star came from the previous day, and a pull-quote credited to a "folk almanac maxim" had no source. The revision of that date shows each hour's spirit and label, attributed to the manual, tags the 時破 hour and builds the 23:00 row wholly from the next day, marked so. For 16 October 2026 that row reads 甲子, 金匱, matching 17 October's 00:00 row.
Solar-time spirits take a different colour for a third of Singapore's clock time
The manual counted hours on the sun. Its tables in 卷十二 put equinox sunrise at 卯正初刻, 06:00 by the sun, and compute each province's sunrise from its own latitude. Both almanac sites print clock blocks. Singapore's clock runs about 65 minutes ahead of local mean solar time, the time of an average sun at its longitude. The equation of time, the gap between that average sun and the real one, moves solar noon between 12:48 (1 November) and 13:19 (14 February) on the 2026 clock. The Singapore birth-time guide explains the offset.
Our minute-by-minute simulation of 2026 used NOAA's equation-of-time approximation, with the day changing at 23:00 on both scales. The shares show what would change if a reader counted hours on the sun; no source we opened says modern hour selection should.
| Place | Hour label differs | Path colour differs |
|---|---|---|
| Penang | 66% | 40% |
| Kuala Lumpur | 61% | 38% |
| Singapore | 54% | 33% |
| Kuching | 33% | 20% |
| Hong Kong | 20% | 12% |
| Taipei | 7% | 4% |
Noble, salary and horse stars take precedence in the manual's hour rules
卷三十四 opens its hour rules with 「時家吉凶神不必盡拘惟貴人禄馬為吉」: hour spirits need not all be strictly followed, and only the noble (貴人), salary (祿) and horse (馬) stars count as good.
卷七 makes the salary hour the branch belonging to the day's stem and sets the joy spirit's (喜神) direction by stem: southeast, 巽, on 戊 and 癸 days. For 16 October, a 癸亥 day, k366 printed 喜神 东南. Skillon's page for that day marks the 子 hour 日禄 and still rates it 凶.
Imperial editors keep a custom the almanacs never explained
In the same 卷七 entry the editors write that the almanacs 「何以吉何以凶則未言其故 通書又専用之以選時 相沿日久終身由之而不知其道」: they never say why these spirits are good or bad, yet use them above all to choose hours, and people follow them for life without knowing the reason. 考原, they note, doubted it and kept it undiscussed. The editors call "yellow path" and "black path" other names for good and bad, then argue for each spirit in turn. The Qianlong preface states the compromise: 「俗所久沿則亦不能盡去 便民用也」, long custom cannot all be removed, for the people's convenience.