标题：万年历
由来
第一个版本要想  追寻万年历的由来，那故事得从远古时代的商朝说起……有名樵夫唤做万年，有一天他上山砍柴，砍罢了就坐在树下休息。他眼望著树影出神，心中想的，仍是如何将节令定准的事。不知不觉过了大半个时辰，他才发现地上的树影已悄悄地移动了方位。万年灵机一动，心想，何不利用日影的长短来计算时间呢？回到家后，万年就设计了一个“日晷仪”。可是，一遇上阴雨天，日晷仪又失去效用了。
有一天，万年在泉边喝水，看见崖上的水很有节奏的往下滴，规律的滴水声又启发了他的灵感。回家後，万年就动手做了一个五层的漏壶，利用漏水的方法来计时。这么一来，不管天气阴晴，都可以正确地掌握时间了。有了计时的工具，万年更加用心的观察天时节令的变化。经过长期的归纳，他发现，每隔三百六十多天，天时的长短就会重覆一次。只要搞清楚日月运行的规律，就不用担心节令不准了。万年就带著自制的日晷仪及水漏壶去觐见天子祖乙，说明节令不准与天神毫不相干。祖乙觉得万年说的很有道理，就把万年留下，在天坛前盖起日晷台、漏壶亭，又派了十二个童子供万年差遣。从此以后，万年得以专心致志的研究时令。过了一段日子，祖乙派阿衡去了解万年制历的情况。万年拿出自己推算出的初步成果，说：日出日落三百六，周而[1]复始从头来。草木荣枯分四时，一岁月有十二圆。
阿衡听後，非常忐忑不安，他担心制出准确的历法，得到天子重用，直接的威胁到他的地位。於是阿衡就以重金收买了一名刺客，准备行刺万年。无奈万年全心研究时令，几乎从不离开所住的日月阁。刺客只好趁夜深人静之时，挽起了箭射杀万年。只听得嗖的一声，一箭射中了万年的胳膊，万年应声倒下。童子们高喊抓拿刺客，守卫的兵士及时抓住了刺客，将他扭送天子。 祖乙问明了是阿衡的诡计，就下令将阿衡收押，亲自到日月阁来探望万年。万年就把自己最新的研究成果报告给祖乙：申星追上了百星蚕百星，星象复原，子时夜交，旧岁已完，时又始春，希望天子定个节名吧！祖乙说：春为岁首，就叫春节吧。当时祖乙见万年为了制历，日夜劳瘁又受了箭伤，心中不忍，就请他入宫调养身体，万年答道：“多谢天子厚爱，只是目前的太阳历还是草历，不够准确，要把岁末尾时也闰进去。否则，久而久之，又会造成节令失常。为了不负众望，我必须留下来，继续把太阳历定准。”又经过了数十个寒暑，万年精心制定的太阳历终于完成了。当他把太阳历献给祖乙时，已是个白发苍苍的老人了。 祖乙深受感动，就把太阳历定名为万年历，并封万年为日月寿星，以上就是万年历名称的由来。第二个版本相传，在很久以前，有个名叫万年的青年，看到当时节令很乱，想把节令定准。一天，他上山砍柴，坐在树阴下休息，树影的移动启发了他，他设计了一个测日影计天时的晷仪。可是，天阴雨雾，影响测量。后来，山崖上的滴泉引起了他的兴趣，他又动手做了一个五层漏壶。天长日久，他发现每隔三百六十多天，天时的长短就会重复一遍。当时的国君叫祖乙，天气风云的不测，使他很苦恼。
一个名叫阿衡的大臣，为讨好皇上，奏称要设天台敬祭天神。祖乙认为有理，便带领百官去祭天，却无济于事。万年知道后，忍不住就带着日晷和漏壶去见皇上，对 祖乙讲清了日月运行的道理。祖乙听后龙颜大悦，感到有道理。于是把万年留下，在天坛前修建日月阁，筑起日晷台和漏壶亭。并派了十二个童子服侍万年。祖乙对万年说："希望你能测准日月规律，推算出准确的晨夕时间，创建历法，为天下的黎民百姓造福。"有一次，祖乙传旨要阿衡去了解万年测试历法的进展情况。当他登上日月坛时，看见天坛边的石壁上刻着：日出日落三百六，周而复始从头来。草木枯荣分四时，一岁月有十二圆。阿衡见此，知道万年的历法已研究成功，心中忐忑不安。他万分惧怕万年因创建历法而得宠，国君会怪罪自己提出祭祀天神的主意。于是，他阴谋策划，派了一个刺客去除掉万年。刺客攀上日月阁，见万年正在阁上观察星斗，便张弓搭箭，准备射死他。谁知，刺客被卫士发现，被当场缉拿。祖乙知后，惩处了阿衡，亲自登上日月阁看望万年。万年指着天象，对祖乙说：“现在正是十二个月满，旧岁已完，新春复始，祈请国君定个节吧。”祖乙说：“春为岁首，就叫春节吧。”冬去春来，年复一年。后来，万年经过长期观察，精心推算，制定出了准确的太阳历。当他把太阳历呈奉给继任的国君时，已是满面银须。国君深为感动，为纪念万年的功绩，便将太阳历命名为“万年历”，封万年为日月寿星。以后，人们在过年时挂上寿星图，据说就是为了纪念德高望重的万年的。
择日宜忌
黄历之中一般人看的最多的，应是每日宜做什么、不宜做什么的那一项，命理师、择日师也由此栏所记，加上每日吉时凶时之参考，来替人决定日期。待读者了解之后，以后就不用去找择日师了。不过，若涉及个人八字项目，还是要找人排一排好。如果自己查询吉日，不找算命师，可以翻开万年历查询当日的宜忌。举例：
以八十五年一月一日为例，写有：
宜：安床、纳财、栽种、结网、扫舍宇、祭祀、沐浴、裁衣、进人、整手足。
忌：开市、理发、牧养、纳畜、造畜稠、伐木、做梁、安葬、破土、开生坟。
我们由内文即可「大概」知道意思，若要「开市」，不要选一日，可选三日，吉时是在「子午酉亥」，也就是凌晨十一至一时、中午十一至一时、下午五至七时及晚上九至十一时，以作息时间言，可选中午十一时至一时之间为佳。另外再注意当天「冲兔煞东」，肖兔的人要回避，勿朝东方去。　把这些项目综合起来，就可以成为择日师了。
现就将农民历都有的择日用事术语批注列于下： 
祭祀：指祠堂之祭祀、即拜祭祖先或庙寺的祭拜、拜神明等事。
祈福：祈求神明降福或设醮还愿之事。
求嗣：指向神明祈求后嗣（子孙）之意。
开光：神佛像塑成后、供奉上位之事。
塑绘：寺庙之绘尽或雕刻神像、画雕人像等。
出行：指外出旅行、观光游览。
齐醮：设醮建立道场祈拜、求平安等事。
出火：谓移动神位，「火」指「香火」而言。
纳采：结婚，缔结婚姻的仪式、受授聘金。
裁衣：裁制新娘衣服或制作寿衣。
合：:制作蚊帐之事。
冠笄：「冠」指男、「笄」指女、举行男女成人的仪式、称之为冠笄。
嫁：:男娶女嫁，举行结婚大典的吉日。
纳婿：指男方入赘于女方为婿之意。同嫁娶。
沐浴：指沐浴斋戒而言。  万年历剃头：初生婴儿剃胎头或削发出家。
整手足甲：初生婴儿第一次修剪手足甲。
分居：指大家庭分家、各自另起炉灶之意。
进人口：指收纳养子女而言。
解除：指冲洗清扫宅舍、解除灾厄等事。
修造：指阳宅之坚造与修理。
起基动土：建筑时、第一吹动起锄头挖土。
伐木做梁：砍伐树木制作屋顶梁木等事。
竖柱：竖立建筑物的柱子。
上梁：装上建筑物屋顶的梁木。同架马。
开柱眼：指作柱木之事。
穿屏扇架：制作门扇、屏障等工作。
安门：房屋装设门户等工事。
盖屋合脊：装盖房屋的屋顶等工作。
求医疗病：仅指求医治疗慢性痼疾或动手术。
安床：指安置睡床卧铺之意。
移徙：指搬家迁移人主所之意。
入宅:即迁入新宅、所谓「新居落成典礼」也。
挂匾：指悬挂招牌或各种匾额。
开市：开业之意。商店行号开张做生意。「开幕礼」「开工」同。包括：（1）年头初开始营业或开工等事。（2）新设店铺商行或新厂开幕等事。
立券交易：订立各种契约互相买卖之事。
纳财：购置产业、进货、收帐、收租、讨债、贷款、五谷入仓等。
酝酿：指酿酒、造酱料等事。
捕捉：扑灭农作物害虫或生物。
栽种：种植物「接果」「种田禾」同。
畋猎：打猎或捕捉禽兽。
纳畜：买入家畜饲养之事。
教牛马：谓训练牛马之工作。
破屋坏垣：指拆除房屋或围墙。
拆卸：拆掉建筑物。
开井、开池：开凿水井、挖掘池塘。
作陂、放水：建筑蓄水池、将水灌入蓄水池。
开厕：建造厕所。
造仓库：建筑仓库或修理仓库。
塞穴：指堵塞洞穴或蚁穴等。
平治道涂：指铺平道路等工事。
修墓：修理坟墓等事。
启攒：指「洗骨」之事。俗谓「拾金」也。
开生坟：开造坟墓。  万年历合寿木：制作棺材。
谢土：建筑物完工后所举行的祭祀。
安葬：举行埋葬等仪式。
入殓：将尸体放入棺材之意。
成服、除服：穿上丧服、脱下丧服。
移柩：举行葬仪时、将棺木移出屋外之事。
破：:仅指埋葬用的破土，与一般建筑房屋的「动土」不同。即「破土」属阴宅，「动土」指阳宅也。现今社会上多已滥用，择日时，须辨别之。
阳历与阴历
历史上使用过的历法，有阳历、阴历和阴阳合历，“盲年”是阴阳合历某种“置正”安排的结果。 
阳历，可能是我们的祖先最早使用的历法，它根据太阳运行规律制定。古人以为太阳绕地球运行，转动一周为一年——今日我们知道是地球绕太阳公转的周期，但古人的认识却相反。据学者考证，战国时还有太阳历，一年十个月，以天干为名，每月三十六日，分三旬，旬以地支为名，如此十个月三百六十日，加上五至六天不入干支的“废日”，一年就是三百六十五日或三百六十六日。在那种情况下，节气的安排首先有“夏至”、“冬至”，继而又有“春分”、“秋分”，季节上的回归年先分春秋二季，后来再分出春夏秋冬四季，以至二十四节气。古代文献《管子》中有这种历法的痕迹，彝族和西南少数民族的火把节与之有关。岭南民间至今还流传“冬至大过年”的说法，就是民间对这种历法的记忆残留。古人确实曾经以“一阳更始”的冬至作为元旦。这种太阳历的回归年，不会出现“双春”和“盲年”现象。 
阴历是按月亮的盈亏变化来制定的。一个朔望月的周期是二十九或三十天，年的长短只是月的整倍数，与回归年无关。月也与四季寒暑无关。希腊历和回历都属于这种历法。它的一年中，也不可能出现“双春”、“盲年”。  万年历阴阳合历，是结合太阳和月亮运行的周期制定的。一年按太阳的运行分为二十四节气，又按照月亮的运行分为月。小月、大月十二个加起来，只有三百五十四天或三百五十五天。两者相比，相差约十一天。为了协调二者，古人采取“设闰”的办法来处置，若干年中就有一年是十三个月的。从商代的甲骨中还可以看到“十三月”的记载，就是设闰的明证。上世纪有学者报告，南方的瑶族还保存着“十三月”的叫法。现行“十九年七闰”的制度起源相当早。我国的历史，自《春秋》以下，就有干支历日可查，足以为证。 
但置闰月，未必就造成一年两个“立春”，或没有“立春”。这里又涉及“置正”的问题，即以那一个月为正月。从历史记载来看，这种“置正”比较复杂： 
夏朝以寅月为正月，称为建寅； 
商朝以今十二月为正月，建丑； 
周朝以十一月为正月，建子； 
秦朝以十月为正月，建亥。 
汉朝建立，初承秦制，以为得水德，亦建亥；后来到武帝时，经落下闳推算，又改成夏历，以寅月为正月。 
不同“置正”，就有不同的新年起点。例如建寅的，就以寅月的起点为元旦。这种办法，自汉武以来，二千年中，虽经不断完善，但大体沿用不变。
转换方法
很多人都一直在找换阴阳历的公式，高平子[2]所著《学历散论》解读了古历的变更和阴阳历的缺陷，才知道由於月球转动的不稳定不规则，确定无公式可寻。这也是古代中国每百年必改历的原因。 [3]
阴历最大的问题是在如何置闰。好像不难，因为阴历基本法则如下：
* 月朔日即是初一 
* 月以中气得名 
* 以包含雨水中气月为正月，即是「寅」月 
* 月无中气者为闰月，以前月同名。 
如果，日月转动循还有规则的话， 推演一套阴阳历转换的公式并不难。问题在有时一个太阴月比一个太阳月还要长。如此一个太阴月就有可能包括两个中气。此双中气月後的阴历月名就全部乱掉了，直到下一个「假」闰月後才调整过来。 
一般人接触到的阴阳历是民用历法，它是政府颁令的以东经120度计算的历法或称中原标准时间或北京时。如果，我们用不同时区、不同经度为子午线来重新计算阴阳历，民用历法的置闰法则出了很大的问题。不同时区的闰月可能落在不同月。换言之，在一百年内，任何两个时区的闰月顺序模式是会不相同的。 
高平子前辈书中提到了「历理置闰法」。如果应用历理置闰法到不同时区，则所有不同时区的闰月都落在相同月。如此不同时区、不同经度的阴阳历置闰之问题就消失了。民用置闰和历理置闰的不同是：
* 在民用置闰，如果月朔日和中气同一天，则该阴历月包含那个中气。
* 在历理置闰，如果月朔日和中气同一天，月朔日时间必须在中气时间之前，则该阴历月才包含那个中气。 
简言之，民用置闰比较月朔和中气日期；历理置闰比较月朔和中气日期、时、分、秒。由此可知，没有精确的太阳和月亮的时间数字，阴历的闰月可能会排错了。 
基於这些理由，我着手寻找天文公式计算精确的太阳和月亮在纬度的时间。当年没有网路，发了大半年於美国南加州各大图书馆及大学，找寻答案。1993年出版了「中美天文万年历」一书。书中精确的天文日月时间只从1900到2010年。因恐2011後时间误差超过一分钟，不够精确，不敢印出。2012从网路资讯，确定太阳和月亮时间的精确度後，百忙中重新整理资料，提供给需要阴阳历转换公式的朋友。 
整理出的太阳和月亮时间数字是从西元1年到2246年。有历理和中国民用两套历法。数字内容清清楚楚的看出民用历法的敝端。例如，从西元1600年到2246年，民用历法双中气的阴历月有22个，历理历法只有5个。民用历法甚至在2033、2128和2242年中，三个月之间居然跑出两个双中气；换言之，三个月中多出两个「假」闰月。前後12个阴历月中有三个闰月，闰月的去留造成许多学者的讨论和困恼。历理历法在此三年中，却没有发现到双中气阴历月。闰月的去留只要把双中气月後的「假」闰月取消，则历理历法近乎於完美。 
由此可知，民用历法问题很大，应该废除。上次阴阳历重大改历在1645年，已经超过350年。随着天文科学的进步，中国阴阳历应该使用较精确的历理历法。免得後代子孙再浪费时间讨论置闰去留的问题。 
阴阳历应用在八字算命、紫微斗数、农民历、遁甲历最多。很多人不知道排八字只用阳历而不用阴历。发了许多时间在研究阴阳历的转换。其实八字只使用太阳中节气，和月亮没有任何关系。紫微斗数则需要阴历日期去排命盘。美国时区的阴历日期有一半和中国时区的阴历日期差一天，因为时差超过12小时；初一就可能在不同日之故。有位在加拿大职业算命的朋友，精通八字和紫微斗数，研究其女命盘。八字论父母，合情合理。斗数父母宫，看不出自己影子。後来，在中美天文万年历一书发现了「差一天」之解答。 
曾有一位退休博士用了近三十年找寻阴阳历的公式，问遍两岸各大天文台，得不到答案，直到发现中美天文万年历一书。最後，希望我重新整理的中国阴阳历的天文数字和原始程式，能给有求知欲於阴阳历转换方法的读友一个答案，以免得不到答案而遗憾终身。 
中国阴阳历的天文数字和原始程式用简单英文阐述，
高平子 Kao Ping Tse”1888-1970〔是中国近代最有成就的天文学者之一。他没有接受正规的天文教育。凭着对天文的酷爱，自己研读天文书籍。因为他对天文的贡献，在他的百年冥诞，月球的一个环形月坑以他的名字为名。位置在月球东经87.6度，南纬6.7度， 直径34公里，为国争光。
在线万年历
万年历算星期几  万年历只要随便说出公元几几年几月几日就可以马上算出是星期几。 [4]
只要计算出日的代码，月份代码，年份代码。三个加起来除以七的余数就是星期几，（如余数是三，则就是星期三）。
日的代码计算：日的代码最简单，就是它本身，是几号就是几。
月份代码计算：月份代码也很简单，下面有十二个数：1 4 4 7 2 5 7 3 6 1 4 6，分别代表一至十二月份每个月的代码。比如，九月份的代码为6。（据来宾介绍，他是用逆推的方法，计算出这12个月份代码的，即知道某年某月某日是星期几，反过来推算月份代码。）
年份代码计算：年份代码相对比较复杂，先记住2000年对应的年份代码是4，这是基础代码，牢记即可。  万年历假如大于2000年，比如2010年，则对应的年份代码是（2010－2000）÷4=2……2，再用基数代码4减去2倍的商加上余数再加1。即4－2×2+2+1=3，则2010年对应的年份代码为3。如果没有余数，即润年，则余数后面的1也不用加。比如2008年，对应的年份代码为0。
假如小于2000年，比如1991年，则对应的年份代码是（2000－1991）÷4=2……1，再用基数代码4加上2倍的商减去余数。 即4+2×2－1=7，则1991年对应的年份代码为7。
再记住1个特殊情况，即润年的3到12月份到最后要加1。 
举个例子吧，比如1992年8月27日。则（2000－1992）÷4=2……0，再4+2×2－0=8，年份代码计算结果为8，加上8月份的代码3，再加上日的代码27，因为是润年，所以还要加1，等于39。再除以七的余数为4，则这一天为星期四。
干支年历歌诀
辛巳乙亥初九马前六金蝉龙猴打
壬午黄猪十九鸡二五九月十一七
癸未甲午当日鼠正三八十腊月五 
  万年历甲申戊子十二卯前四二五猴猪咬
乙酉癸丑廿二午正二四五猴与鼠
丙戌丁未初三鸡二三五六八鼠息
丁女辛丑十四夜后二三五六八亥
戊子乙丑廿六卯玉兰七九子上找
已丑黄羊初七马二五九鼠七月俩
庚寅癸未十八酉正四七八猪与牛
辛卯丁丑廿八夜二五七九与子月
壬辰黑猴初十虎正三六九子前五
癸巳丙申廿一蛇正三四七十腊查
甲午庚寅初二申二四五七十月真
乙未青鸡十二亥火局前三七蛇在
丙申己酉廿四虎正三五六八与猪
丁酉癸卯初五蛇玉兰后八七十腊
戊戌丙寅十六申四六七九子月真
己亥辛酉廿七猪正四六月金蝉出
庚子乙卯初九虎二四后六金蝉舞
辛丑己卯十九蛇二四六九子鼠爬
壬寅甲戌三十申正三四六九腊真
癸卯戊辰十一亥玉兰后四鸡牛在
甲辰黑龙廿二虎二四七九再加五
乙巳丁亥初三辰正月五八季月临
丙午庚辰十五羊后三五八九牛羊
丁未青龙廿五狗三六七九子上走
戊申己亥初七丑正三六子后七九 
  万年历已酉癸亥十八辰金蝉三五还有寅
庚戌丁巳廿八未二三五八子月对
辛女壬子初九戌水局正四后五居
壬子红鼠廿一卯正三四六八子小
癸丑庚午初二辰二四五七八子真
甲寅甲子十三羊后四五八水局长
乙卯戊子廿四酉三五六八十一九
丙辰壬午初六鼠五九后八水局主
丁巳丙午十七卯二五七九子丑找
戊午庚子廿七马二五八十腊月查
已未木羊初八酉(闰六)二三五七十与丑
庚申己未十九鼠二月三月七十五
辛酉甲寅三十兔正三四六猴与猪
壬戌戊申十一马玉兰后四七九查
癸亥壬申廿二酉二四五七亥猪走
甲子丙寅初三夜二五六八九后十
乙丑庚寅一五卯正四六八狗鼠跑 
  万年历丙寅甲申廿六午正四七九牛与鼠
丁卯戊寅初七猴二四后六九子丑
戊辰壬寅十七亥九月玉兰丑牛在
已巳丁酉廿八寅二三五七九月真
庚午壬辰初九蛇正三四六后五八
辛未丙辰二十．申正三四六七九真
壬申庚戌当日亥正四五七鸡猪来
癸酉甲辰十三虎金蝉后三正七五
甲戌丁卯廿四蛇四六八九子月查
乙亥壬戌初五猴正四子六后八九
丙子红狗十六亥正三六八鼠牛在
丁丑庚辰廿七虎二四六九丑牛犊
戊寅乙亥初八辰二三双五鸡鼠奔
己卯黄猪十九未二三五六八丑对
庚辰癸巳廿九狗三四六七九