命理黄历 · 八字命盘
干支纪年
干支纪年查询:今日四柱年柱月柱日柱、60 甲子完整轮值表、十天干十二地支五行
温馨提示本工具内容源自中国传统命理 / 民俗文化,仅供文化研究与娱乐参考,不代表客观真理,亦不构成任何决策建议。请保持科学世界观,理性看待。
今日三柱 · 年 / 月 / 日
60 甲子完整表
10 列 × 6 周期 · 五行底色 · 今日干支高亮什么是干支纪年?
干支纪年源自中国古代历法,由十天干(甲乙丙丁戊己庚辛壬癸)与十二地支(子丑寅卯辰巳午未申酉戌亥)组合而成,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在「公历日期」输入框键入或点选日期,年柱、月柱、日柱、时柱四列结果即时更新
- 2点击「今日」按钮快速定位到当前日期,四柱自动填充为当天干支
- 3展开「60 甲子表」查看完整轮值顺序,任选一组干支即反查对应公历日期范围
- 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 → 巳。年柱为乙巳。
开发者集成
For Developers6 种主流语言实现,复制即用:
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 实现),干支数据由服务器计算并返回,因此必须保持联网。断网后页面无法加载结果。如果你需要离线使用,可以先把当前页面的「六十甲子轮值表」截图或复制保存,那部分数据是静态的,离线也能查。但「今日四柱」和具体日期的查询必须联网。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。