命理黄历 · 八字命盘

干支纪年

干支纪年查询:今日四柱年柱月柱日柱、60 甲子完整轮值表、十天干十二地支五行

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 8.1万 次使用

温馨提示本工具内容源自中国传统命理 / 民俗文化仅供文化研究与娱乐参考,不代表客观真理,亦不构成任何决策建议。请保持科学世界观,理性看待。

2027-01-03 农历 冬月廿六 · 干支 丙午庚子壬午 今天 明天 后天

今日三柱 · 年 / 月 / 日

年柱
丙午
月柱
庚子
日柱
壬午

60 甲子完整表

10 列 × 6 周期 · 五行底色 · 今日干支高亮
1
甲子
2
乙丑
3
丙寅
4
丁卯
5
戊辰
6
己巳
7
庚午
8
辛未
9
壬申
10
癸酉
11
甲戌
12
乙亥
13
丙子
14
丁丑
15
戊寅
16
己卯
17
庚辰
18
辛巳
19
壬午
20
癸未
21
甲申
22
乙酉
23
丙戌
24
丁亥
25
戊子
26
己丑
27
庚寅
28
辛卯
29
壬辰
30
癸巳
31
甲午
32
乙未
33
丙申
34
丁酉
35
戊戌
36
己亥
37
庚子
38
辛丑
39
壬寅
40
癸卯
41
甲辰
42
乙巳
43
丙午
44
丁未
45
戊申
46
己酉
47
庚戌
48
辛亥
49
壬子
50
癸丑
51
甲寅
52
乙卯
53
丙辰
54
丁巳
55
戊午
56
己未
57
庚申
58
辛酉
59
壬戌
60
癸亥

什么是干支纪年?

干支纪年源自中国古代历法,由十天干(甲乙丙丁戊己庚辛壬癸)与十二地支(子丑寅卯辰巳午未申酉戌亥)组合而成,60 年一循环,故称"六十花甲子"。

四柱:命理学中将出生时刻拆为年柱 / 月柱 / 日柱 / 时柱四组干支,合称"四柱八字"。每柱含天干地支各一字(如"甲子"),是八字命理的基础。

五行配位:甲乙木 · 丙丁火 · 戊己土 · 庚辛金 · 壬癸水。今日年柱 丙午(火行)· 月柱 庚子(金行)· 日柱 壬午(水行)。

干支纪年是命理基础,配合八字命盘可推算个人命运吉凶。仅供传统文化娱乐参考。

第一节

关于本工具

About

翻开老黄历或排八字,最绕不开的是把公历日期换算成干支纪年,月柱、日柱的起法各有规则,稍不留神就错。这个工具输入公历日期,直接给出四柱及对应五行,60甲子轮值表一并可查。干支推算是按《三命通会》等典籍的固定算法在后端完成,不依赖第三方接口,结果可复验。

使用场景

古籍纪年断代

校勘清代地方志时,遇到「光绪乙未」字样。需要确认该年份对应公元 1895 年还是 1896 年,以及当年的立春是否在正月十五之前——这决定了月柱是「丁丑」还是「戊寅」。用本工具输入「乙未」查询 60 甲子序数,再调取该年节气表,两分钟完成断代,不用翻《二十史朔闰表》逐页对。

新生儿八字排盘

朋友孩子出生在 2024 年 2 月 4 日 17:00,他听老人说「立春换年」,不确定年柱该算癸卯还是甲辰。用本工具输入公历日期,直接显示当日四柱:年柱甲辰、月柱丙寅、日柱壬寅、时柱己酉。省去自己查立春具体时刻(2 月 4 日 16:27)再手动推算的麻烦,且避免算错月令分界。

风水择日验证

装修开工前,师傅给出「丙午日巳时」的吉时建议。需要核对这个日子是否与户主生肖相冲,以及当天的日柱五行是火还是土。用本工具查出丙午日的干支五行(丙属火、午属火),并调出该日对应的 60 甲子序数,结合生肖地支判断无冲,才放心定下日期。

命理排盘校对

用紫微斗数软件排盘时,发现某网站给出的年柱是「壬戌」,另一个软件却显示「癸亥」。两个结果差了一柱,怀疑是立春前后日期处理有差异。打开本工具输入该公历日期,直接看到年柱、月柱、日柱的准确值,以此作为基准去排查哪个软件的分界算法有误。

历史人物生年换算

读《曾国藩家书》时,落款「咸丰十年九月廿四日」,想换算成公历日期以便查证当时的历史事件。用本工具输入「咸丰十年」查询年柱,再输入干支月日「庚戌月甲子日」,工具直接输出对应的公历 1860 年 11 月 6 日,比翻《中国历史纪年表》快得多。

对比矩阵

维度本工具在线万年历站传统手工查表
查询方式输入公历日期,即时输出四柱及五行需逐日翻页或选择日期后跳转翻阅《万年历》纸质书或记忆口诀推算
输出内容年柱、月柱、日柱、时柱、五行属性、60甲子轮值通常只显示当日干支,不拆分四柱需自行推算时柱,易出错
离线可用完全离线,浏览器本地运行需联网加载页面完全离线(需有书或口诀)
隐私数据不出浏览器,无网络请求请求发送至服务器,有日志记录完全无电子记录
速度毫秒级即时响应受网络延迟影响,约1-3秒数分钟至数十分钟(依赖熟练度)
准确性基于固定算法,无人工误差依赖站点数据源,偶有历法差异依赖查表精度和推算正确率
第二节

使用指南

Getting Started

使用步骤

  1. 1在「公历日期」输入框键入或点选日期,年柱、月柱、日柱、时柱四列结果即时更新
  2. 2点击「今日」按钮快速定位到当前日期,四柱自动填充为当天干支
  3. 3展开「60 甲子表」查看完整轮值顺序,任选一组干支即反查对应公历日期范围
  4. 4点击「天干地支五行」标签,查看十天干与十二地支各自的阴阳五行属性对照

输入输出示例

输入输出说明
2024-02-10甲辰年 丙寅月 甲辰日常规:2024年立春后(2月4日)进入甲辰年,2月10日为正月初一,年柱已换为甲辰,月柱为寅月(丙寅),验证年柱与月柱的立春分界逻辑。
2024-01-20癸卯年 乙丑月 癸未日常规:2024年1月20日仍在立春前,年柱仍为癸卯年,月柱为丑月(乙丑),验证跨年但未到立春时年柱不换的规则。
2023-12-22癸卯年 甲子月 甲子日边界:冬至日(12月22日)为甲子月起始,且当日干支为甲子,形成年柱癸卯、月柱甲子、日柱甲子的“三甲子”特殊组合,验证月柱以节气(大雪/冬至)而非农历初一为界。
1900-01-01己亥年 丙子月 戊戌日边界:工具支持的最小年份(公历1900年),验证跨世纪边界值处理,且1900年1月1日在立春前,年柱为己亥年(1899年干支)。
2100-12-31庚申年 戊子月 壬子日边界:工具支持的最大年份(公历2100年),验证未来边界值,且2100年非闰年,2月只有28天,不影响干支计算,但需确认工具对2100年2月29日输入的处理(应报错或返回空)。
2024-02-29甲辰年 丙寅月 癸卯日易错:2024年为闰年,2月29日存在,验证工具对闰日干支的正确计算,避免因日期不存在而报错。
2023-01-22壬寅年 癸丑月 壬午日易错:2023年1月22日为农历正月初一,但立春在2月4日,年柱仍为壬寅年(2022年干支),月柱为丑月(癸丑),验证用户常误以为“正月初一换年柱”的认知偏差。
2024-03-20甲辰年 丁卯月 癸未日易错:2024年3月20日为春分日,月柱从卯月开始(丁卯),验证节气分界精确到日,且春分日干支为癸未,用户可能混淆“春分日换月柱”与“立春日换年柱”的规则。

常见错误对照

1.混淆公历年份与干支年份的起始点

✗ 错误输入公历 2024 年 1 月 1 日,直接取年柱为甲辰
✓ 修复2024 年 1 月 1 日年柱应为癸卯(未到立春)

干支纪年以立春为岁首,非公历 1 月 1 日。立春前仍属前一年干支,立春后才换年柱。

2.月柱以节气为界,误用公历月份

✗ 错误公历 2 月 5 日直接取月柱为寅月(正月)
✓ 修复公历 2 月 5 日若在立春前,月柱仍是丑月(腊月)

月柱按节气划分:立春到惊蛰为寅月,惊蛰到清明为卯月,以此类推。公历月份与节气月不对应。

3.日柱计算未考虑公历闰年规则

✗ 错误用固定公式算 1900 年 3 月 1 日,直接套用普通闰年规则
✓ 修复1900 年不是闰年(世纪年不能被 400 整除),日柱需按平年计算

公历闰年规则:能被 4 整除但不能被 100 整除,或能被 400 整除。1900 年不满足,日柱计算闰日偏移量需修正。

4.时柱地支固定,误以为按公历小时直接对应

✗ 错误23:15 输入子时,时柱地支取子,但天干按当日日干算错
✓ 修复23:15 属子时,时柱天干用五鼠遁法:甲己还加甲,乙庚丙作初

时柱地支固定(23-1 子时,1-3 丑时…),天干由日干通过五鼠遁口诀确定,不能随意取。

5.六十甲子轮值表误以为从甲子开始循环

✗ 错误认为 2024 年甲辰之后一定是乙巳,忽略中间跳过的干支
✓ 修复六十甲子顺序:甲子、乙丑、丙寅…癸亥,甲辰后是乙巳,没错。但若从某年倒推,需确认起始点

六十甲子是固定循环,但实际应用中需注意起始干支是否正确。例如 1984 年是甲子年,1985 才是乙丑。

6.十天干十二地支五行属性混淆

✗ 错误认为甲木是阳木,乙木也是阳木
✓ 修复甲为阳木,乙为阴木;丙为阳火,丁为阴火

天干地支各有阴阳属性:甲丙戊庚壬为阳,乙丁己辛癸为阴;地支子寅辰午申戌为阳,丑卯巳未酉亥为阴。

7.忽略日柱跨子时边界对四柱的影响

✗ 错误23:50 输入后,仍用当天日柱算时柱
✓ 修复23:50 已属子时,时柱天干用当天日干算,但日柱仍是当天(子时 0 点前日柱不变)

子时跨两日:23:00-0:00 属晚子时,日柱用当天;0:00-1:00 属早子时,日柱用次日。时柱天干算法相同。

8.公历日期与农历日期混用

✗ 错误输入农历 2024 年正月初一,直接取年柱为甲辰
✓ 修复农历正月初一若在立春前,年柱仍是癸卯

干支纪年与农历年不同步:农历年以正月初一为界,干支年以立春为界。两者可能相差数天。

第三节

工作原理

How It Works

核心公式

年柱天干 = (年份 - 4) mod 10,年柱地支 = (年份 - 4) mod 12

变量说明

  • 年份公历年份,如 2025
  • 年柱天干0=甲,1=乙,…,9=癸
  • 年柱地支0=子,1=丑,…,11=亥

示例

公历 2025 年:天干索引 = (2025-4) mod 10 = 2021 mod 10 = 1 → 乙;地支索引 = (2025-4) mod 12 = 2021 mod 12 = 5 → 巳。年柱为乙巳。

输入公历年 / 月 / 日查表映射天干 / 地支拆分四柱年 / 月 / 日 / 时输出干支校验合法性范围 / 格式60 甲子轮值表查询用户输入选择日期今日 / 自定义
用户输入 本地处理 输出结果
第四节

开发者集成

For Developers

6 种主流语言实现,复制即用:

from datetime import datetime def ganzhi_year(year: int) -> str: """返回指定年份的干支,如 2024 → 甲辰""" heavenly = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] earthly = ['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'] # 公元 4 年为甲子年(索引 0) idx = (year - 4) % 60 return heavenly[idx % 10] + earthly[idx % 12] print(ganzhi_year(2024)) # 甲辰 print(ganzhi_year(1984)) # 甲子
function ganzhiYear(year) { const heavenly = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸']; const earthly = ['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥']; const idx = (year - 4) % 60; return heavenly[idx % 10] + earthly[idx % 12]; } console.log(ganzhiYear(2024)); // 甲辰 console.log(ganzhiYear(1984)); // 甲子
package main import "fmt" func ganzhiYear(year int) string { heavenly := []string{"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"} earthly := []string{"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"} idx := (year - 4) % 60 if idx < 0 { idx += 60 } return heavenly[idx%10] + earthly[idx%12] } func main() { fmt.Println(ganzhiYear(2024)) // 甲辰 fmt.Println(ganzhiYear(1984)) // 甲子 }
function ganzhiYear(year: number): string { const heavenly = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] as const; const earthly = ['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'] as const; const idx = (year - 4) % 60; return heavenly[idx % 10] + earthly[idx % 12]; } console.log(ganzhiYear(2024)); // 甲辰 console.log(ganzhiYear(1984)); // 甲子
#!/bin/bash # 依赖:无,纯 shell 计算 heavenly=(甲 乙 丙 丁 戊 己 庚 辛 壬 癸) earthly=(子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥) year=${1:-2024} idx=$(( (year - 4) % 60 )) echo "${heavenly[$((idx % 10))]}${earthly[$((idx % 12))]}"
public class Ganzhi { public static String ganzhiYear(int year) { String[] heavenly = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}; String[] earthly = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}; int idx = (year - 4) % 60; if (idx < 0) idx += 60; return heavenly[idx % 10] + earthly[idx % 12]; } public static void main(String[] args) { System.out.println(ganzhiYear(2024)); // 甲辰 System.out.println(ganzhiYear(1984)); // 甲子 } }
第五节

常见问题

Q & A
我查今天的干支,为什么年柱和月柱跟网上其他软件不一样?

不同软件对年柱和月柱的起算点(立春 vs 正月初一)选取不同。本工具严格按传统历法,年柱以立春为界(2025 年立春是 2 月 3 日 22:10,之后年柱才变),月柱以节气(立春、惊蛰、清明等)为换月点。若你看到其他工具按公历 1 月 1 日或农历正月初一换年,结果就会差一柱。切换到本工具时,先确认你查的日期是否在立春前后,若差一天结果不同是正常现象。

日柱是怎么算出来的?为什么有人说日柱有不同算法?

日柱算法有两脉:一是查万年历的实测记录(最准),二是用固定公式推算(如高氏日柱公式、蔡勒公式)。本工具后端直接依据权威万年历数据(以紫金山天文台历书为基准)计算日柱,非公式推算,因此不存在因公式参数不同导致的偏差。若其他工具用公式,在公元 1-100 年或跨世纪时可能因置闰规则差异而差 1 天。

我输入一个古代日期,比如明朝嘉靖年间,能算准吗?

本工具支持公历 1900-2100 年范围的干支查询,超出这个区间的日期(包括古代明朝年份)无法保证准确。因为历法工具依赖的权威历书数据(含农历、节气、闰月)只覆盖近现代,古代历法在明朝之前有过多次修订(如授时历、大统历),本工具未内置这些古历的换算表。如果你需要古代日期干支,建议先查历史文献中的对应公历日期再输入本工具。

时柱怎么不显示?是不是工具没做这个功能?

本工具目前仅提供年柱、月柱、日柱三柱,不包含时柱。时柱需要用户提供出生时辰(子丑寅卯等),且不同流派对时辰的起算点(23 点 vs 0 点)有争议,为避免误导所以暂未加入。如果你需要完整四柱,可先用本工具查日柱,再自行按「日上起时法」(五鼠遁口诀)配合出生时辰推算时柱。

六十甲子表里为什么没有癸亥后面的?

六十甲子表就是 60 个干支组合的完整循环,癸亥是最后一个(第 60 位),之后会回到甲子开始下一轮。本工具展示的「完整轮值表」就是这 60 个,不会出现第 61 个。如果你在表格中看到甲子之后又是甲子,说明表格跨了两轮,但实际轮值表只列一轮。查某个干支在第几位时,可直接用工具内置的序号查询功能。

十天干和十二地支的五行属性是怎么对应的?我想看具体表格。

本工具在「十天干十二地支五行」模块中以表格形式列出了每个天干和地支的五行归属。天干:甲乙属木、丙丁属火、戊己属土、庚辛属金、壬癸属水。地支:寅卯属木、巳午属火、辰戌丑未属土、申酉属金、亥子属水。注意地支中的辰戌丑未四个土支,在不同纳音或藏干流派中还有细分,本表采用最通用的本气五行。

为什么我查今天的结果,跟我手机上日历 App 显示的干支不一样?

手机日历 App 的干支显示经常有错误:很多 App 年柱按正月初一换(而非立春),月柱按农历月换(而非节气),导致与正统干支历差 1-2 柱。本工具严格以节气为月界、立春为年界,与《中国历法总表》和紫金山天文台数据一致。建议你拿一个「立春当天和前一天」的日期(如 2025 年 2 月 3 日 vs 2 月 4 日)分别查,若年柱不同则说明对方用的是正月初一换年法。

这个工具需要联网吗?我把网断了能不能用?

本工具是后端处理(BE 实现),干支数据由服务器计算并返回,因此必须保持联网。断网后页面无法加载结果。如果你需要离线使用,可以先把当前页面的「六十甲子轮值表」截图或复制保存,那部分数据是静态的,离线也能查。但「今日四柱」和具体日期的查询必须联网。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭