古籍中的干支纪日如何转换为公元纪日
天干地支纪年法与公元纪年法之间的转换

天干地支纪年法与公元纪年法之间的转换
天干(日):甲乙丙丁戊己庚辛壬癸
标号为:1 2 3 4 5 6 7 8 9 0
地支(月):子丑寅卯辰巳午未申酉戌亥
标号为:1 2 3 4 5 6 7 8 9 10 11 0
下面介绍公元纪年法和天干地支纪年法的转换方法:
一、由天干地支到公元
1,求天干:公元年数最后一位为a,则找到标号为a-3(差小于0就加10)的天干。
例如:公元2001年最后一位为1,减3后为-2小于0加10为8,所以找到标号为8的天干为‘辛’。
2,求地支:公元年数除以12的余数为b,找到标号为b-3(差小于0就减12)的地支。
例如:2001年除以12的余数为9,9-3=6,找到标号为6的地支为‘巳’。
合起来就是‘辛巳年’。
二、由天干地支到公元
举个例子就知道了
请问戊戌变法是公元多少年?
我们知道六十一甲子,所以戊戌是这六十年里第几年呢,由天干戊知道尾数为5+3=8,可以是8,18,28,38,48,58,又由地支戌知道除12的余数为11+3-12=2,可以是2,14,26,38,50,综合一下就知道戊戌是一甲子的第38年。
还知道戊戌变法发生十九世纪到二十世纪之间,一甲子的首年(除60余1)可以是1801,1861,1921,1981,比较合理的是1861到1920,所以戊戌变法发生在公元1860+38=1898年。
干支换算方法[干支纪年与公历纪年的换算方法]
![干支换算方法[干支纪年与公历纪年的换算方法]](https://img.taocdn.com/s3/m/4279913c2379168884868762caaedd3383c4b597.png)
干支换算方法[干支纪年与公历纪年的换算方法]日干支的求算仿照星期的求算,得到一个比较直观的计算日干支的公式如下:G = (Y-1)*5 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D + 15,(3)其中Y是年份,D是累积天数,[...]表示取商数,也就是只取计算结果的整数部分。
把G除以60,余数就是干支的序号。
或者把G除以10或12,可以直接得到日天干和日地支。
不过,和形式相似的求星期的公式一样,这个公式还不够简炼,特别是第一项(Y-1)*5,在Y为四位数年份时,计算出来的结果是一个较大的四位数或五位数,口算很不方便。
用推导蔡勒公式的办法,可以改进这个公式。
先来看和年份有关的部分的改进。
按公历的置闰规则,一个世纪的总天数可能是36524天,或36525天。
如果这个世纪中末尾为00的年份是闰年,这个世纪就只有36525天;否则就只有36524天。
不妨称有36524天的世纪为“平世纪”,有36525天的世纪为“闰世纪”。
对于平世纪,因为36524 mod 60 = 44,所以,每过一个平世纪,同一天的干支就向后推进44个序号。
同样,每过一个闰世纪,同一天的干支就向后推进45个序号。
这就得到一个计算每个世纪第一年(年份末尾为01)3月1日的公式:G = 44C + [C/4] + 15, (4)其中C是世纪数减一。
而计算任一年3月1日的干支的公式也可以很快得到:G = 44C + [C/4] + 5(y-1) + [y/4] + 15,即G = 44C + [C/4] + 5y + [y/4] + 10, (5)其中y是年份后两位数字。
下面再列出每月天数:月份1月2月3月4月5月6月7月8月9月10月11月12月天数31 28(29) 31 30 31 30 31 31 30 31 30 31减30后的剩余天数 1 -2(-1) 1 0 1 0 1 1 0 1 0 1如果把1月和2月看成是上一年的13月和14月,同样可以得到下面的式子:D’ ≡ [3*(M+1) / 5] + d - 2 (mod 10) (6)及D’ ≡ [3*(M+1) / 5] + d - 2 + i (mod 12) (奇数月i=0,偶数月i=6), (7)其中,D’是从3月1日开始算起的累积天数,M是月份,d是日数。
公元纪年与干支纪年的换算方法

公元纪年与干支纪年的换算方法嘿,咱今儿来聊聊这公元纪年和干支纪年的换算方法。
你说这纪年方式是不是挺有意思的呀?就像给时间穿上了不同款式的衣服。
咱先说说公元纪年,这可太常见啦,满世界都在用呢!简单明了,好记好用。
那干支纪年呢,就像是时间的神秘密码,充满了古老的韵味。
要把公元纪年换算成干支纪年,那可得有点小窍门。
首先得知道干支的顺序呀,什么甲子、乙丑、丙寅……依次排下去。
这就好比是一个长长的队伍,每个都有自己的位置。
比如说,咱想把 2023 年换算成干支纪年。
那就得先把 2023 除以 60,得到余数,再根据余数去对照干支表。
这就好像是在一个大宝藏里找对应的宝贝一样。
有人可能会问啦,为啥要除以 60 呀?嘿,这就是古人的智慧啦!60 可是个很特别的数字呢,就像生活中有些特别的数字对我们也有特殊意义一样。
然后呢,通过一番计算,2023 年对应的干支纪年就是癸卯年。
你看,是不是挺神奇的?就这么简单的几步,就从公元纪年跨越到了干支纪年。
想象一下,如果我们穿越回古代,和古人聊天,他们一说干支纪年,咱就能马上反应过来是哪一年,那多牛呀!这感觉就像是掌握了一门独特的语言。
干支纪年可不只是用来纪年哦,它还蕴含着丰富的文化内涵呢。
每个干支都有自己的特点和寓意,就像每个人都有自己的性格一样。
而且呀,干支纪年还和五行、阴阳等概念结合在一起,形成了一套复杂而又神秘的体系。
这可不是随便说说的,这里面的学问大着呢!咱再举个例子,1949 年是己丑年。
哎呀,这一年可是新中国成立的重要年份呀!这干支纪年是不是一下子就变得更有意义了呢?所以说呀,了解公元纪年和干支纪年的换算方法,不仅能让我们更好地理解历史,还能感受到中华文化的博大精深。
这就像是打开了一扇通往古老智慧的大门,让我们看到了时间背后的奇妙世界。
总之呢,这换算方法虽然有点小复杂,但只要咱多练练,多琢磨琢磨,肯定能掌握得妥妥的。
以后再遇到干支纪年,咱也能轻松应对啦!这可真是个有趣又有用的知识呢,大家可得好好记住呀!。
公元纪年与干支纪年的换算

公元纪年与干支纪年的换算:首先,将天干、地支编号如下:天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸4 5 6 7 8 9 10 1 2 3地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥4 5 6 7 8 9 10 11 12 1 2 3如要将公元纪年换算成干支纪年,以公元年的尾数在天干中找出相对应。
然后,将公元纪年除以12,用余数在地支中找出所对应的地支。
这样,公元纪年就换算成了干支纪年。
如:公元1995年用该年尾数5找出对应的天干为“乙”。
然后,用1995除以12得余数为3。
用余数3找出相对应的地支为“亥”。
那么,公元1995年则为农历乙亥年。
再如:公元1861年用尾数1查天干为“辛”,用1861除以12得余数为1,再用余数1查找地支为“酉”。
那么,公元1861年则为农历辛酉年。
如果某一年的尾数为0或者用该年除以12的余数为0,则取天干中的第10位“庚”和地支中的第12位“申”。
如:公元120年尾数0则取天干中的“庚”;除以12余数为0,则取地支中的第12位“申”。
那么,公元120年则为庚申年。
另外,如果公元纪年是单个数字,就用该数字在天干、地支中查找即可。
如:公元6年,则在天干、地支中找出6相对应的“丙”和“寅”,那么该年则为丙寅年。
公元8年则为戊辰年。
公元11年,则取尾数1对应的天干中的“辛”和11对应的地支中的“未”。
那么,该年则为辛未年。
公元12年则为壬申年。
二、公元前纪年与干支纪年的换算:将天干、地支编号如下:天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸7 6 5 4 3 2 1 10 9 8地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥9 8 7 6 5 4 3 2 1 12 11 10具体换算方法同一如:公元前155年用尾数5取天干中的“丙”;155除以12得余数11,对应地支中的“戌”。
那么,该年则为丙戌年。
公元前8年则为癸丑年天干地支纪年法计算的万能公式文/孙海文我国古代是用干支纪年的,近代史上提到的甲午战争、戊戌变法、辛亥革命等名词就是干支纪年。
干支日期循推法

运用循推法,首先要选择一个便于记忆的近期甲子日固定地充当标准甲子日(简称标甲,我选用的是1995年8月1日),然后把要转换的日期定为目标日,只要计算出这两个日期之间的总天数(简作T)以及目标日与当年标准日(与标甲相同的公历日期)之间的天数(称差额日,简作N),便可将干支日期转换成公历日期。总天数一定是六十的倍数再加上一个不大于六十的数,实际运算中可以用这个不大于六十的数代替总天数。六十天轮了一个甲子,六万天就轮了一千个甲子,为方便运算,忽略不计这个六十的倍数并不影响转换结果,这个不大于六十的数称为虚拟总天数(简作T1)
1同上宣宗例,60-(8+N)=56,N=-4+60=56,60×0+56=56
2同上崇祯例,60-(39-N)=51, N=30, 60×2+30=150
3同上1978例,60-(29+N)=60, N=-29+60=31, 60×1+31=91
循推法的第三个步骤就是依据差额日推出干支日期对应的公历日期。据上所述,有两种情况,第一种是目标日在当年标准日之前,差额日即表示为这两个日期之间所夹天数(不含这两日);第二种是目标日在当年标准日之后,差额日即表示以标准日为首日的第某(即差额数)日为求公历日期,是1则就是标准日。
参考用例
1, 汉永宁元年(120年)七月乙酉:公元120年8月12日
2,梁武帝大同四年(538年)二月己亥:公元538年3月25日
3,唐贞观元年(627年)九月庚戌:公元627年10月25日
4,唐贞元十七年(801年)五月壬戌:公元801年6月15日
5,唐景龙元年(707年)六月丁卯:公元707年7月4日
如何把干支日期转换成公历日期?方法总以简便易行为好,楼主18岁便精密推演公式,精神可嘉实堪佩服,但就我个人来看,用公式计算算是最麻烦的了,既有年表专家,查询工具书则最为方便最为常用,方诗铭编著《中国历史纪年表》,陈垣《二十史朔闰表》在手,古史时间的问题就可以迎刃而解。只是可惜《二十史朔闰表》现在难得买到了。
干支纪年与公历的换算

干支,俗称为“天干地支”,共有六十个,是由天干与地支组成甲子、乙丑、丙寅……,60个组成一个循环,反复使用。
称为六十甲子或六十花甲子。
中国古代用以表示年、月、日、时的次序。
考古发现,在商朝后期帝王帝乙时的一块甲骨上,刻有完整的六十甲子,可能是当时的日历。
这也说明在商朝时已经开始使用干支纪日了。
根据考证,春秋时期鲁隐公三年(前720年)二月己巳,曾发生一次日食。
这是中国使用干支纪日的比较确切的证据。
而使用皇帝年号纪年则是汉武帝时期建元年号。
干支法在中国古代一直使用,从未间断。
因此对研究历史非常有帮助,非常容易推算历史时间。
目录1 干支的一个循环2 干支纪年和纪日与公历的换算3 干支纪年4 干支纪月5 参考文献干支的一个循环甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉甲戌乙亥戊子己丑庚寅辛卯壬辰癸巳甲午乙未丙申丁酉戊戌己亥壬子癸丑甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥干支纪年和纪日与公历的换算从已知的公历年份计算干支纪年:年份数减3,除以10的余数是天干,除以12的余数是地支。
从已知日期计算干支纪日的公式为:g = 4C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d - 3z = 8C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d + 7 + i其中奇数月i=0,偶数月i=6,C是世纪数减一,y是年份后两位,M是月份,d是日数。
1月和2月按上一年的13月和14月来算。
g除以10的余数是天干,z除以10的余数是地支。
干支纪年干支纪年,一个周期的第一年为“甲子”,第二年为“乙丑”,依此类推,60年一个周期;一个周期完了重复使用,周而复始,循环下去。
如1864年为农历甲子年,60年后的1924年同为农历甲子年;1865年为农历乙丑年,1925年同为农历乙丑年,依次类推。
由于干支纪年重复太多,一个周期仅为60年,因此自汉武帝同时采用皇帝年号纪年。
浅谈公元纪年和干支纪年的转换

浅谈公元纪年和干支纪年的转换曹飞龙(湖南省祁阳师范学校中级讲师,湖南醴陵人,2003年毕业于湖南科技大学历史系)摘要:我们在历史学习的过程中,经常看到很多用干支命名的重大事件,比如辛酉政变、甲午战争、戊戌变法、辛亥革命,等等。
公元纪年如何转换成干支纪年,首要的关键就在于先弄懂什么是干支以及干支的排列规律,为此笔者结合多年的教学经验向大家推荐一种自创的方法,希望对广大教师、学生以及历史爱好者在以后的学习和生活中有所帮助。
关键词:公元纪年;干支纪年;干支号码公元纪年和干支纪年是中国的两种最常用的纪年法。
我们平时在历史学习的过程中,经常会看到很多用干支命名的重大事件,比如辛酉政变、甲午战争、戊戌变法、辛亥革命,等等。
这里就涉及到如何将公元纪年转换成干支纪年的问题。
为此,笔者特向大家推荐一种自创的方便、实用而且简洁的新方法。
干支纪年是中国传统的纪年法。
如何将公元纪年转换成干支纪年,首要的关键就在于先弄懂什么是干支以及干支的排列规律。
干支是天干和地支的合称。
天干有10个,即甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支有12个,即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
天干和地支从“甲子”开始,按顺序逐一相配,各用到最后一个时,再从第一个开始继续相配,从而形成了60个干支,也称“六十花甲子”。
如果我们把“甲子”编为1号,“乙丑”编为2号,依次编下去,就可以得到一个干支和干支号码对照表,如下: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癸亥到底该如何根据某一公元年份来推断其干支呢?下面,我们可以分公元后、公元前两种情况来介绍。
公元与干支纪年换算法

公元与干支纪年换算法公元与干支纪年换算法(根据网上资料综合编写)(一)、利用天干、地支序数推算公元年份的干支纪年1、天干序数表2、地支序数表3、推算公式(1)、(公元纪年-3)/10 其余数R1 为天干序数(2)、(公元纪年-3)/12 其余数R2 为地支序数(3)、(公元纪年-3)/60 余R ,R/10余x 为天干序数R/12余y 为地支序数(这里的余数为正整数,下同)4、举例:推算辛亥革命1911年的干支纪年按公式(1)、(2):(1911-3)/10 R1=8 天干为辛(1911-3)/12 R2=0 地支为亥故1911年为辛亥年按公式(3):(1911-3)/60 R=48 48/10=8 天干为辛48/12=0 地支为亥故1911年为辛亥年【注】当公元纪年小于10、12、60时,公式(1)改为(公元纪年+60-3)/10(2)改为(公元纪年+60-3)/12(3)改为(公元纪年+60-3)/60(二)、利用60花甲序数推算公元年份的干支纪年1、60花甲顺序表2、推算公式:公元后的公式(1)、公元纪年/60 余R ,(R-3)为花甲序号的干支。
(2)、(公元纪年-3)/60余数 R 即为花甲序号的干支。
公元前的公式(3)、(公元纪年+3)/60 余R,(60-R)为花甲序数干支。
3、举例:(1)、推算公元1911年的干支纪年按公式(1)有 1911/60 R=51 51-3=48 查表48为辛亥年。
(2)有(1911-3)/60 R=48 查表48为辛亥年。
(2)、推算公元前246年(秦始皇执政)的干支纪年按公式(3)有(246+3)/60 R=9, 61-9=52 查表52为乙卯年。
(三)、利用公元纪年的余数推算公元纪年的干支纪年1、天干余数表2、地支余数表(2)公元纪年/12的余数为对应地支的余数4、推算方法:以1911年为例。
1911/10 余数=1(天干)对应余数1为辛1911/12 余数=3 (地支)对应余数3为亥故1911年为辛亥年。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
古籍中的干支纪日如何转换为公元纪日
中国古代历法是以太阳运动为依据的回归年和以月亮运动为依据的塑望月相结合制定的,1个回归年是365.2422天,1个塑望月是29.5306天,年、月的天数只能取整数,为了协调阴阳和凑整,就有了一套复杂的置闰规则。
那时没有公元纪年和24小时制;年、月、日、时辰都用干、支二序表达,甲子、乙丑、丙寅……,一个甲子循环代表60个序数。
在漫长的历史长河里,有太多的60个循环了,如何区分重复的干支序数呢?
皇帝年号、年序就不可或缺了,皇帝年号、年序加上年的干支,就能把当年在时间长链上准确定位了;年的位置确定了,月、日的干支序数就是唯一的了,因为12、30/31或28/29都小于60。
我们的祖先是用皇帝年号和干支次序来记录年月日时的。
所以,我们想要知道古代某件事发生在公元纪元的那天,首先必须不仅知道那天的年、月、日的干支序数,还需知道是哪朝皇帝的年号、年序。
现在我们习惯于公元纪年制了,因为它在古今中外历史记事中统一、通用,知道了公元日期,就在历史长河中准确定位了。
这就需要知道把干支纪元的年月日转换为公元纪元的年月日的方法。
前几天游了赫图阿拉城、永陵,看到展出图片中有清代学者高士奇的《扈从东巡日录》的有关片段,心怀好奇,从百度文库里下载了《扈从东巡日录》,找到有关拜谒永陵的记录,一开头看到“己未……”,就懵了,“己未”是甚麽意思?是指那一天?于是萌生了想知道康熙带领大队人马来谒陵是那一天的事。
如前所述,首先要知道事情发生在那年。
《扈从东巡日录》的自序末尾“康熙二十一年壬戌五月望日內廷供奉翰林院侍講臣高士奇謹序”,这说明高士奇写这本书自序的时间是康熙二十一年,这年是壬戌年,五月十五日(农历)。
《扈从东巡日录》开头,“康熙二十一年正月十七日上諭……”,这是说康熙帝这次东巡谒陵是康熙二十一年农历正月十七日开始下令筹划的;后面“二月十五日癸巳辰時上率皇太子親辭兩宮畢由東長安門出東直門……”是说农历二月十五日,这天是癸巳日,辰時(7~9点)启程。
关于拜谒永陵的一段“己未告祭永陵大雪彌天……”,说明祭祀是在己未日举行的。
至此,我们知道康熙这次东巡谒陵是康熙二十一年农历二月十五日(癸巳日)启程,己未日到永陵祭祀,这个己未日应在农历五月十五日写自序之前。
二月十五~五月十五间只能有一个己未日。
首先,康熙二十一年是公元那年?我们有很多办法来解决,如查《中国历史年表》,大型辞书的附录里往往都有;还有早年的陈垣专著《二十史朔闰表》。
我查的是《现代汉语词典》的附录《我国历代纪元表》,查到康熙元年是壬寅年-1662年,那么康熙二十一年就是1682年了。
其次,查启程日;下载一个万年历,这个万年历要年份跨度大、有农历、干支的。
查1682年3月份(农历二月十五日一般在公历3月份),查到癸巳日是3月23日。
再次,查癸巳日与己未日相隔天数;在干支次序表中,癸巳的序数是30,己未的序数是56,两者相隔26。
因为康熙这次东巡共经历80天,80 < 26+60,也就是说只能是启程后的第26天到永陵,那无疑就是4月18日了。
至此,初战告捷,答案有了;还应该再设法校核一下,确认是否正确。
先看康熙元年1662年-壬寅年的干支次序是39,康熙二十一年-1682年-壬戌年的干支次序是59,相差20,正确!
再查万年历,查1682年4月18日是不是己未日?对了!
前几年,我根据网上资料,用Matlab编了个程序,可用以公元纪年与干支纪年的换算,这次用来校核;推算1682年3月23日的干支日是壬戌年癸卯月癸巳日,1682年4月18日的干支日是壬戌年甲辰月己未日,正确!手头没有万年历时可用这个方法应急。
顺便说说,我对自编的程序并不深信不疑,因为我不是天文历法专业工作者,天文历法知识有限,编程只是照搬资料里的公式,自娱自乐而已,未必“天衣无缝”,更未“久经考验”,拿来用作旁证还行。
万年历的作者是天文历法的专家和编程高手,并且软件应用久经考验;如果自编程序的推算数据与万年历的推算数据不符,我会舍弃自编程序的数据。
有时我们从不同资料里,会看到不同的答案,注意要慎重选择,必要时自己再推算一下好。
这次我看到一个资料,说康熙帝第二次东巡到永陵是三月初九,即4月16日,哪个对呢?显然,三月初九说不可取,因为二月十五日后第26天不可能是三月初九,农历月份绝不会有超过30天的。
总之,古籍中的干支纪日如何转换为公元纪日,可以有多种途径,可用的工具也是多种多样;关键是:原始基本数据必须准确可信,推算方法必须正确可靠,推算过程必须严谨缜密,使用的工具应是公认可靠并久经考验的;还要找旁证或用不同方法校核无误。
现在网上有多种万年历,这次我下载了日梭万年历和实用万年历,用起来都很便捷,各有特点,可互相参照。
日梭万年历只有826KB,查询范围是1583年~5582年;实用万年历个头大些,1545KB,查询范围是公元前4600年~公元10000年,足够用了。
今天听百家讲坛里王立群先生讲宋太宗兵败高粱河,发生在太平兴国四年七月初六,要知道这天是公元纪年的那天,就只能用实用万年历了,查到是979年8月1日。
附自编程序及万年历查询截图:
查宋太宗太平兴国四年七月初六日,实用万年历-菜单-其他-日期查询与计算。