在线老黄历,打开就是今日黄历:公历日期、星期、农历与年月日三柱干支、生肖,左右两栏列出这一天的宜与忌;再往下是冲煞、值神、十二建星、二十八宿、吉神宜趋、凶神宜忌、彭祖百忌、胎神占方、纳音、旬空、节气与月相,每一栏旁边点一下就能看它按什么历法规则逐日排出来。可以翻上一天、下一天,也能直接填日期做黄历查询,范围从 1900 年到 2100 年,还能在这个月的迷你月历上点一格换日子,或把当日黄历整段复制走。不用下载、不用注册。本页列出传统条目并解释来历。
按日子直达
每一天都有一个固定地址,列出当天的宜、忌、冲煞、值神与彭祖百忌。
怎么用
一、进页就是今天
打开页面,首屏那张大卡给的就是今日黄历:最上面一行是补零写法的公历日期,下面依次是星期、完整农历(年、月、日都写全)、年月日三柱干支和生肖。这一天要是碰上节日或者节气,会跟在后面单独标出来。
大卡下面是宜和忌两栏,左右并排。库里给出几条就列几条,条目本身是一些两字到四字的旧时事项名;某一栏当天一条都没有,那一栏就写「无」,不会拿别的东西填空。
再往下那一排格子是这一天的其它栏目,一格一项:冲煞、值神、十二建星、二十八宿、吉神宜趋、凶神宜忌、彭祖百忌、胎神占方、纳音、旬空、节气、月相。
二、换一天
工具条上四个操作:
- 上一天 / 下一天——一天一天翻,翻到 1900 年 1 月 1 日或者 2100 年 12 月 31 日就停住,不会翻出范围;
- 日期框——直接填某一天做老黄历查询,范围是 1900 年到 2100 年;
- 回到今天——翻远了一键回来。
换日子的同时,浏览器地址栏里的 ?d= 参数会跟着变,所以你复制当前网址发给别人,对方打开看到的就是同一天;反过来,带着 ?d= 参数进页,页面直接落在那一天而不是今天。
日期落在有固定地址的那一段时间里时,工具条下面还会出现一行这一天的固定地址,形如 /t/huangli/2026-09-18。那是一个独立的静态页面,不开脚本也看得到全部内容,适合收藏、分享或者贴进文档。
三、这个月的迷你月历
页面下半部分是当前这一天所在月份的月历,恒定六行七列、从周日起排。每一格上面是公历日,下面一行小字是农历日;农历初一那一格显示的是农历月名而不是「初一」,这样农历月的边界在公历网格上一眼可见;落在节气上的那一格显示节气名。今天那一格描一圈品牌色,正在看的那一天整格高亮。点任意一格就换到那天,上面整页内容跟着重排。
四、每一栏旁边的那枚「?」
详情区每个格子右上角都有一枚小圆圈。点开之后展开的是一句话说明:这一栏是什么、按什么规则逐日排出来的、多少天一个循环。它只讲来历和排法,不讲哪一条好、哪一条不好——这是本页的边界,也是这些说明存在的意义:让你看得懂这套东西是怎么转起来的,而不是照着它去做决定。
五、带走:复制与交给 AI
- 复制当日黄历——把这一天的全部栏目整理成一段纯文本,日期、农历、干支、宜、忌、冲煞、值神、十二建星、二十八宿、吉神宜趋、凶神宜忌、彭祖百忌、胎神占方、纳音、旬空、节气、月相一行一栏,末尾附上页面常驻的那句说明。贴进聊天窗口或者笔记里都不用再排版。
- 复制给 AI——同一段文字,后面自动接一句请求,让 AI 逐栏讲讲每个名目出自什么历法规则。复制完点旁边任意一个平台的按钮,粘贴发送即可。
浏览器不允许网页直接写剪贴板时,内容会自动放进页面上的框里并选中,按 Ctrl+C(Mac 上是 ⌘+C)即可。
这一页不发任何网络请求,也不在你这台设备上记任何设置——关掉再打开就是今天。
怎么看结果
宜和忌这两栏怎么读
这两栏是整张黄历上条数最不固定的地方:有的日子两栏加起来二十来条,有的日子只有寥寥数条,还有的日子整栏只有一条概括性的写法。条数多少完全由排法决定,本页原样照搬,不把它整理得整齐好看——整齐了反而是假的。
要紧的是明白这两栏的性质:它们是旧时历书上按固定规则排出来的名目,不是对当天的评价,也不是任何意义上的建议。同一个日期在不同流派的排法下能得出不同的条目,这本身就说明它属于民俗知识,而不是可以验证的结论。
冲煞:一条纯粹的对应关系
冲煞是整张表里规则最干净的一栏,也最容易验算。十二地支排成一圈,隔六位的那一对互冲;页面取当天日柱的地支,找出与它相冲的地支,写出对应的生肖。所以你只要看一眼日柱的第二个字,就能自己推出「冲」后面写的是什么——这一栏永远推得出来,也永远只有这一个答案。煞那个方位字同理,跟着日支四天一转。
值神与十二建星:两套并行的循环
值神是轮值到这一天的那位神名,一共十二位,按日支与当月月建的相对位置循环;旧历书把这十二位分成「黄道」「黑道」两组,页面把组名一并列出来,那是它在历书上的固定分类名称,不是本页的评价。这十二位值神怎么轮值、常说的「黄道吉日」在历书上到底指什么,黄道吉日是怎么排出来的 那一页把排法一步步讲开,并按月标出哪些天是黄道日。
十二建星又叫建除十二神,是建、除、满、平、定、执、破、危、成、收、开、闭这十二个字的循环。排法是先找当月月建所对的地支,那一天记作「建」,往后逐日按顺序轮。这里有个容易被忽略的细节:遇到节气交接的那一天要重复一次,所以偶尔会连着两天是同一个字——这不是数据出错,而是这套排法本来就这样,为的是让建星和节气始终对得上。
二十八宿、纳音、旬空、胎神占方、彭祖百忌
这五栏都是按日的干支或者固定周期轮换的:
- 二十八宿逐日往后推一位、二十八天走一轮。名字后面那两个字是它的七政(日月与五星)和动物代号,括号里标的是它属于哪一方的哪一组七宿;
- 纳音由日柱的干支查表得到,六十甲子两两一组配五行,凑成三十个三字名目,六十天走一遍;
- 旬空也叫空亡:十天干配十二地支,每一旬(十天)总会剩下两个地支配不上天干,那两个就是本旬的旬空。所以同一旬的十天,这一栏是同一个答案,六十天里正好出现六对;
- 胎神占方按日的干支逐日轮换,六十天一个循环,写法是「某处」加「某方位」两段;
- 彭祖百忌是天干一句、地支一句的六十条七字口诀,对应当日的干与支,同样六十天循环一遍。
把这几栏放在一起看,你会发现整张黄历其实建立在几个不同长度的循环之上:六十天的干支、二十八天的宿、十二天上下的值神与建星、按节气走的月建。它们各转各的,叠加起来才让每一天看上去都不一样。
节气与月相
节气那一栏告诉你这一天是不是节气日,以及它落在前后哪两个节气之间、离下一个还有几天。节气按太阳在黄道上的位置每十五度划一个,所以它在公历上的日期年年只差一两天。月相那一栏给的是当天的传统月相名——农历的月严格跟着月相走,初一前后是朔、十五前后是望,所以农历日和月相基本对得上,可以互相印证。
干支年那一行为什么偶尔会多一句
正月初一到立春之间的那几天,两种分界会给出不同的年柱:以正月初一换年是一套,以立春换年是另一套。页面首屏用的是以立春为界的口径,因为月柱和日柱本来就按节气划分,混用会自相矛盾。碰上这几天,大卡下面会直接写明另一种口径是什么——不藏、也不替你选。
常见问题
不同的老黄历网站给出的宜忌不一样,该信哪个?
这是个很常见的困惑,答案是:这套东西本来就有多种排法。历史上不同的历书、不同的流派对同一条规则的取舍就不一致,到了今天,各家网站用的底本和算法也不同,结果自然对不齐。本页不会声称自己那一份是唯一正确的版本,只会告诉你它是怎么来的:全部由公开的历法库按日的干支、月建与节气推算,规则写在每一栏的说明里,你可以照着规则自己验算冲煞、旬空、纳音这几栏——它们的推法是确定的,谁算都一样。至于宜忌那两栏,差异主要出在取舍口径上,明白这一点比纠结「哪个对」更有用。
能查到哪一年?
1900 年到 2100 年之间的任意一天,两百年整。这个范围是历法库能稳定推算的区间,不是拍脑袋定的。翻到两端会自动停住,日期框里也填不进范围外的日子。要注意的是,越往前推,历法的实际颁行情况与今天通行的推算规则差异越大,早年的结果只适合当作按现行规则的换算结果看。
手机上能用吗?
能。窄屏下详情区从多列收成一列,宜忌两栏改成上下排,月历格子自动缩小,四百像素宽也不需要横向拖动。翻日期的按钮和日期框在手机上一样可用,点月历换天比在桌面上更顺手。
我查了哪一天,会被记下来吗?
不会。这一页不发任何网络请求,也不往浏览器本地存储里写任何东西——你查过的日期只体现在地址栏那个 ?d= 参数上,那是给你自己复制分享用的,页面不会把它发到任何地方。关掉标签页,什么都不剩。
这一页和万年历、全年日历、十二时辰是什么关系?
分工很清楚:本页只做黄历,一天一屏,把传统条目铺开并解释来历;万年历做公历农历互转和某一天的整体详情;全年日历把十二个月排成一屏、带放假与调休标记;十二时辰对照表回答「现在是什么时辰」;要按生辰排四柱、算五行分布,去八字排盘。四页互相链着,不重复做同一件事。
「老皇历」这个说法和这一页有关系吗?
有,而且挺有意思。历书在中国长期由官方编订颁行,民间因此俗称「皇历」,后来写作「黄历」。因为历书一年一换、过了年就作废,「老皇历」慢慢引申成了「过时的规矩、不再适用的老一套」这个意思,今天日常说「别翻老皇历了」用的就是这个引申义。而这一页的名字里的「老黄历」指的是前一个意思——那套一直印在历书上的传统条目。
原理与冷知识
六十甲子是两个齿轮咬合的结果。十个天干配十二个地支,不是随便配,而是各自按顺序往前走、只取奇偶相同的组合,于是循环周期不是一百二十而是六十——十与十二的最小公倍数。整张黄历上有大半栏目(纳音、彭祖百忌、胎神占方、冲煞)都挂在这六十天的循环上,所以你如果连着看六十天,会发现这几栏正好各走一遍、第六十一天开始重复。这也是验算这些栏目最简单的办法。
旬空为什么总是两个地支。一旬十天,十天干刚好配完,而地支有十二个,于是每一旬必然剩下两个地支没被配到——那两个就是本旬的「空」。六十天分成六旬,六对旬空正好用完十二地支。这一栏看上去玄,实际上只是「十二减十等于二」这件事在历法里的一个名字。
建除十二神与节气的那次「重复」。十二建星逐日循环,而它的起点由当月月建决定,月建又跟着节气走。节气交接不会正好落在循环的接缝上,于是排法规定:交节那一天重复前一天的建星。这个看似别扭的补丁,作用是让建星和节气始终保持同步,代价是十二天的循环偶尔会变成十三天。很多「为什么这两天建星一样」的疑问,答案都在这里。
二十八宿的值日和天上的星星无关。二十八宿本是古人把黄道赤道附近的恒星分成的二十八组,按东、北、西、南四方各七宿分属四象。但黄历上「今日某宿值日」用的是另一套东西:从某个起点开始逐日往后推一位、二十八天一轮,与那一组星星当晚在不在天上完全无关。也就是说,它是一个纯粹的计数周期,借用了星宿的名字。明白这一点,就不会拿望远镜去验证黄历了。
农历是阴阳合历,不是「阴历」。农历的月严格跟着月相走,一个朔望月约二十九点五三天,所以有大月三十、小月二十九;但它的年又要跟着太阳走,于是用闰月把十二个朔望月(约三百五十四天)与回归年(约三百六十五点二四天)之间的缺口补上。这就是为什么春节的公历日期会在一月下旬到二月中旬之间来回摆。黄历上的节气跟太阳、月相跟月亮、干支跟固定周期,三套尺子并排放在同一页上——这正是这份文档最耐人寻味的地方。
为什么这类数据必须现算、不能写死在页面里。手写一张表在发布那天是对的,第二年就可能错,而且错了不会报错:页面照样给出一个整齐的答案,只是那个答案不再成立。本页从农历、干支到每一栏条目全部当场推算,页面源码里除了那条不许回退的地址起点,一个具体日期都没有。工具类页面真正的可靠性,不在于功能多,而在于它对自己不知道的事情是否诚实。
把条目列出来,和替人下结论,是两件事。这一页刻意停在前一件事上。传统黄历作为民俗文献是有价值的:它记录了一套延续很久的时间观念,记录了古人怎么用几个不同长度的循环去给日子编号。但从「这一天排出了某某条目」到「所以今天该不该做某件事」,中间隔着一整套后人加上去的推断,那不是历法,也不是本页要做的事。所以页面上常驻着那一句话,从头到尾没变过。