虽然就整个地球而言,发生日食的次数还是相当多的,但一个地区见到并记载下来的却不多,尤其是古代记录更为宝贵,因为可以用它们来考证历史。
《中国古代天象记录总集》列出1911年以前的日食记录1600多项。最早的是《尚书·胤征第四》记载的夏仲康五年“乃季秋月朔,辰弗集于房;瞽奏鼓,啬者弛,庶人走;羲和尸厥官,罔闻之,昏于天象,以干先王之诛”。此记载生动地描述了日食时的情况:那年阴历九月初一,日食发生时太阳与月球在房宿;人们惊慌失措,盲人擂鼓驱赶天狗来救太阳和壮胆,人们东奔西走;司天官羲和沉湎于酒,司天失职,没有预先推算呈报这次日食,就被帝王杀了。这次日食记载也见于《竹书纪年》、《文献通考》、《左传》等,但年份有所不同。
如果按现在的公元计算,这次日食到底发生在哪年,离现在多久呢?中华文明有悠久的历史,然而,司马迁在《史记》里说,他看过有关黄帝以来的许多文献也有年代记载,但比较模糊且又不一致。确定早期历史年代有非常重要的意义。从1995年到2000年,我国开展了“夏商周断代工程”。由于天文学可以较准确地推算出从古至今各次日食发生的时间、地点,因此成为“断代”的一种方法。但是,对上述仲康日食的年代仍有多达14个不同结果,有公元前2158年、公元前2171年、公元前2155年、公元前2137年、公元前2056年、公元前2042年的,还有准确到月目的——公元前2018年12月6日、公元前1969年11月5日、公元前1948年10月28日、公元前1960年10月26日、公元前1876年10月16日,总之,离现在有4000年左右了,确切年代仍需进一步研究。
《太平广记》有:太史令李淳风推算某日当有日食,因为日食对君王尤为不吉,唐太宗闻之不悦,问李淳风,要是届时日食不发生,卿将何以自处?李淳风说,如果预报不准,甘当死罪。到了那天,他们一起等候,许久未见日食,唐太宗认为李淳风的预报已失误,就说:朕放你回家去和妻子儿女诀别吧。李淳风却并不惊慌地说,时刻还未到,结果他的预报“不差分毫”。这虽然是小说家意在渲染李淳风造诣之深,但故事中李淳风表示预报不准甘当死罪,使人联想到《尚书·胤征》中“先时者杀无赦,不及时者杀无赦”的古代遗风。
迄今已考释的中国最古老记录是商殷朝甲骨文。商朝龟甲板和牛肩骨是偶然地在1899年发现于北京药店(作为中药“龙骨”出售)。后来才追踪到在河南省的商朝京都安阳地区,在那里发掘出160000甲骨片,刻有甲骨文。其中有包括6次日食和7次月食的很多天象资料,记有干支。中国的干支纪日类似于现在的星期纪日,但以60“干支”循环运作,从远古以来连续使用。13次商朝日月食的日期几乎完全跟考古学确定的商朝帝王世系对应。一些学者认为商朝是传说的,现在已经证明,甲骨文记录准确地流传到历史学家司马迁(公元前91年)和《竹书纪年》整理(公元前299年或前279年)时代。从商朝甲骨文编辑的帝王世系表几乎跟《史记》和《竹书纪年》的帝王世系表完全一样。
甲骨文解读确认的5次日食是:第33696号甲骨“乙巳日,……太阳有哉……报告给商甲:黄昏一夜晚,九牛祭祀”;第33698号“庚辰日,……太阳有哉……报告给父丁……九牛祭祀”;第33699号“戊子日,……太阳有哉……报告给和”;第33700号“占卜乙丑日,太阳会将会有哉吗?的确又哉”;第33710号“辛巳日,……太阳有食……报告给父丁”。“哉”与“食”相互替用。张培瑜、彭瓞钧等先后推算出5次日食的“绝对”(即按公元统一次序的)日期。
在《竹书纪年》载有“懿王元年天再旦于郑”。(西)周懿王元年春正月,懿王登基,在郑(现陕西省华县)发生“天再旦”——即那天拂晓两次。有些人认为,这是在天亮之际发生日食之故。1997年3月9日,我国境内发生20世纪最后一次日全食,在新疆北部正好是天亮之际,在那里布网实地观测,看到了日食前天色已明、日食发生后天色转黑、日食结束天色复明的全过程。从实地观测证明,“天再旦”为日全食记录的说法是可信的,由此推算懿王元年的天再旦天象是公元前899年4月21日的日食。
《墨子·非攻下》在论及舜命禹征三苗时有“昔者三苗大乱,天命亟之。日妖宵出”语,有学者认为所谓“日妖宵出”可能是一次“天再昏”或“天再旦”的日食现象。“夏商周断代工程”专题组推算出公元前21世纪的4次可能日食,即前2097年8月31日“天再旦”、前2075年6月30日“天再昏”、前2年4月20日“天再昏”、前2029年7月1日“天再旦”。若以夏商分界之年在公元前1580-前1620年范围内,则发生在前2097年8月31日的“天再旦”和发生在前2075年6月30日的“天再昏”日食均有可能。它们发生的时间均在禹受舜禅的前夕,看来,禹伐三苗时确实有日食被记录流传下来。