公元前与公元年份计算器
结果
相隔年数
- 天文年号(0 = 公元前 1 年)
- -43
- 约合天数
- 755,687 天
公元前与公元年份计算器算一个公元前年份和一个公元后年份之间相隔多少年,它存在的理由是这两个数不能直接相加。历法里没有公元 0 年,公元前 1 年的下一年就是公元 1 年,所以两者相差的年数等于两个数相加再减 1。填上两个年份,页面给出间隔年数、让这次减法变成普通减法的天文纪年,以及一个约略的天数。
为什么这两个年份不能直接相加
| 公元前年份 | 公元后年份 | 相隔年数 |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 10 | 10 | 19 |
| 1 | 2026 | 2026 |
| 44 | 2026 | 2069 |
前两行是要看的:从公元 1 年往回数一年就到公元前 1 年,而按在别处都成立的算法,这两个年份会被说成相隔两年。后面每一行都带着同一个 1 年的修正,所以这个错法既藏得住,错起来也总是同样多。
公式
相隔年数 = 公元前年份 + 公元后年份 − 1,因为历法从公元前 1 年直接跳到公元 1 年,中间没有一年;换成天文纪年就是同一件事:公元后年份减去(1 减公元前年份)
- bcYear
- 较早的那个年份,从公元前 1 年往前数。它从 1 起,因为公元前 0 年不存在
- adYear
- 较晚的那个公元后年份,同样从 1 起,理由相同
- yearsElapsed
- 两个年份相隔多少年;公元前 1 年到公元 1 年是 1 年,不是 2 年
- astronomicalYear
- 把这个公元前年份改写成天文学家的记法:公元前 1 年记作 0,公元前 2 年记作 −1。用它去减公元后年份,得到同一个数,而且不需要那个减 1 的修正
- approximateDays
- 相隔年数乘以格里历一年的平均长度。它是约略值,不是精确天数
凡是时间线要跨过公元前后分界线的场合都用它:某件罗马时代的旧事距今多久、两个古代年份相隔多少年、一个跨了纪元的朝代有多长、一份标着公元前某年的文书有多老。它也是对网上那批「把两个年份直接相加」的计算器的一个更正——那种算法每次都会多报一年,而且除非你恰好知道公元前 1 年到公元 1 年只有一年,否则看不出来。精确到日子的日期不要用它,比如「三月十五日」:这里只收年份,跨纪元的精确天数需要一个能处理儒略历改历的历法引擎。
算例
公元前 44 年到公元 2026 年
- 把两个年份直接相加得到 44 + 2026 = 2070,这多算了一年
- 减去那个不存在的公元 0 年:2070 减 1 是 2069
- 换成天文纪年,公元前 44 年是 1 减 44,等于 −43
- 2026 减 −43 同样是 2069,两条路给出同一个答案
- 2069 乘以 365.2425 大约是 755687 天
两条路互为校验。天文纪年那一行是任何人都能心算出来的减法,这也是把它印出来的用意:本站的算术不必被信任,自己减一遍就知道对不对。公元前 44 年是凯撒被刺的那一年,所以这段间隔可以拿去和历史书对一下量级。
公元前 1 年到公元 1 年
- 1 + 1 是 2,减去那个不存在的年份,得到 1
- 所以这两个紧挨着的年份相隔 1 年,不是 2 年
- 公元前 44 年记作 −43,那么公元前 1 年就记作 0
- 公元 1 年减 0 是 1,与第一行一致
- 一年按 365.2425 天算大约是 365 天
这是最小的一个例子,也正是能把错法抓出来的那一个。相加得到 2,听起来很对,其实是错的:历法在这两年之间没有年份,所以间隔只有 1 年。公元前 1 年对应天文纪年的 0,正是那个减 1 修正的全部来历。
局限
只收整数年份,因为公元前 44 年 3 月 15 日这样的日期要一个能处理儒略历改历的历法引擎,把它混进来会让这一页对同一个问题给出与站内其他页面不同的答案。天数是近似值:它按格里历的平均年长算,既忽略了缺掉的月份和日子,也忽略了公元前用的是儒略历。年份上限是公元 9999 年,下限是公元前 1 年。
常见问题
- 公元前 1 年到公元 1 年是多少年?
- 1 年。这两个年份在日历上紧挨着,中间什么也没有。相加得到 2,那是这一页要纠正的错法,而且它不是偶尔错,是每次都多报一年。
- 为什么没有公元 0 年?
- 因为公元纪年是在六世纪分两段定下来的,两段各自从 1 起算,当时没有人去想过一个已经过去的边界该怎么算。公元前 1 年的下一年就是公元 1 年,所以公元前到公元的相隔年数总比两个数之和少 1。
- 天文纪年是什么?
- 它是天文学家把年份写成一条连续数列的记法,这样减法就能照常做。公元前 1 年记作 0,公元前 2 年记作 −1,通式是 1 减公元前年份。历史学家记的是公元前 1、2、3 年,天文学家记的是 0、−1、−2 年,两套记法指的是同一批年份,也都同样没有公元 0 年。
- 公元前 44 年到公元 2026 年是多少天?
- 大约 755687 天,而「大约」这两个字在这里是有实质意义的。这里只知道年份、不知道月和日,而格里历的平均年长不等于任何一个具体年份的长度。天数那一行只当量级看;这一页真正确定的答案是 2069 年。
- 为什么不能填公元前 44 年 3 月 15 日这样的日期?
- 因为当时通行的是儒略历,它与本站其余部分所用的前推格里历不是同一套。要正确回答这类问题,得把 1582 年的改历和它抹掉的那十天一起建进去。与其在一个页面上给出与其他页面不同的日历答案,这个工具只收年份。
参考资料
- 公元 — 科普中国(百度百科)
- 关于“世纪”与“年代”的讨论 — 《中国科技术语》1991 年第 1 期,许邦信