翻开任意一本通书,同一格里往往挤着两行字:上面写「宜嫁娶、宜移徙」,下面一行小字写「冲兔煞东」。这两行字看着像一家人,来路却不太一样。前一行是历代术家编定的条目,后一行是能按规则一步步推出来的坐标。把它们的出身分清楚,你就知道自己在看什么了。
先说最底下那一层:干支。十个天干是甲乙丙丁戊己庚辛壬癸,十二个地支是子丑寅卯辰巳午未申酉戌亥,两者依次相配,配到六十次回到起点,这就是六十甲子。日子也照这套编号,每一天都有一个日柱。假设今天是酉日,那后面的事就都能顺着往下推了。这一层是纯粹的循环计数,谁算都一样,不会有分歧。

第二层是月建和建除十二神。月份不按农历初一切换,按节气切:立春到惊蛰是寅月,白露到寒露是酉月。2026年的白露在9月7日,寒露在10月8日,所以眼下这一整段都在酉月,月建落在酉。月建一定,十二建除就能排了:酉月里的第一个酉日叫建日,从它开始每天轮一个名字,除、满、平、定、执、破、危、成、收、开、闭,十二天转一圈,再回到建。挑日子的人往往先看今天排在哪个字上,因为十二个名字里,除、危、定、执、成、开这六个被算作黄道,建、满、平、收、破、闭这六个算黑道。顺便提一句,「黄道」原本是天文学上的词,指太阳一年在天球上走过的那条路径,二十四节气就是按这条路径等分出来的;用在吉凶上属于借名,跟天文意义的那条黄道没有关系。
第三层是二十八宿值日。东方的角、亢、氐、房、心、尾、箕,北方的斗、牛、女、虚、危、室、壁,西方的奎、娄、胃、昴、毕、觜、参,南方的井、鬼、柳、星、张、翼、轸,一共二十八宿,每天轮一个值班,二十八天一个循环。有的宿宜嫁娶,有的宿忌动土,各家通书给出的吉凶表并不完全一致。这套东西的原型是古人观测月亮每天歇在哪个位置,本来是用来标记和计时的,后来才慢慢被安上吉凶属性。

第四层是冲煞,也就是开头那行「冲兔煞东」。地支之间有六冲:子午、丑未、寅申、卯酉、辰戌、巳亥。日柱的地支若是酉,酉冲卯,卯对应的生肖是兔,于是写「冲兔」。煞的方位由三合局定:申子辰日煞南,寅午戌日煞北,巳酉丑日煞东,亥卯未日煞西。酉归在巳酉丑这一组里,所以是煞东。两步一合,就得到了那四个字。这套推算同样是机械的,换个师傅来推,结果一样。
知道了这些数字怎么来的,再看具体怎么用。搬家常看「宜移徙」,同时避开破日;装修开工看「宜动土」「宜破土」;办喜事看「宜嫁娶」「宜纳采」,另外要避开冲新人双方生肖的日子,讲究一些的做法会单独避开冲新娘生肖的那几天。实际操作的顺序往往是这样:先把范围框死,比如房子月底到期必须搬,喜宴订在国庆那几天亲戚才凑得齐;范围一框,可选的日期通常就剩十来个;再把这十几天里排在破日、闭日的划掉,把冲双方生肖的划掉,剩下的里头挑一个天气合适、亲友方便的。所以常见的情形是先有时间再选日子,先有吉日再倒推时间的反而不多。
最后说清楚一条界线。节气这部分是硬的:秋分就是太阳黄经一百八十度的那一刻,2026年落在9月23日,可以算到分钟,谁算都一样。干支、建除、二十八宿值日、冲煞方位也都是按规则循环的,推不出第二个答案。真正会打架的是「宜」与「忌」的具体条目:同样一套推算结果,不同流派的通书给出的清单并不相同,明清以来的历书各编各的,里面带着历代术家自己的取舍和增删。所以那行小字里,哪些是能对上账的循环,哪些只是某一位编纂者的选择,心里有个数就够了。

再往深一层想,择日这件事流传几百年,真正在起作用的常常是那套仪式感带来的行动。为了一个挑好的日子,人会腾出时间,会把该谈定的细节提前谈完,会把亲戚朋友的时间先约下。日子定下来,事情就有了推进的节奏。至于挑中的那天本身是不是格外顺,谁也没法验证,但愿意为它提前准备的人,当天手忙脚乱的概率确实小一些。