跟进ChenJian的设计思路,增加了一层向量压缩。因为24节气每个月新历月固定有两个,所以list保持顺序,月份就不用存了,一定是1、1、2、2、3、3……只记录日期的话,日期数据过大,所以对200年内4800个数据进行分组比对,求出最小公约数,得出最小公约年向量[4,19,3,18,4,19,4,19,4,20,4,20,6,22,6,22,6,22,7,22,6,21,6,21],将爬取数据减去这个最小公约向量,就得到了一个元素最大值不大于3的矩阵。所有数字不大于3,两个二进制就可满足存储一个日期,一个十六进制就能存储一个月,利用Python3位移算法<<2将原本庞大的txt文本压缩成长度200的12位16进制list。
铺注条例:凡铺注《万年历》、《通书》,先依用事次第察其所宜忌之日,于某日下注宜某事,某日下注忌某事,次按宜忌,较量其凶吉之轻重,以定去取。凡宜宣政事,布政事之日,只注宜宣政事。凡宜营建宫室、修宫室之日,只注宜营建宫室。
凡吉足胜凶,从宜不从忌者,如遇德犹忌之事,则仍注忌。
凡吉凶相抵,不注宜亦不注忌者,如遇德犹忌之事,则仍注忌。
凡德合、赦愿、月恩、四相、时德等日,不注忌进人口、安床、经络、酝酿、开市、立券、交易、纳财、开仓库、出货财。如遇德犹忌,及从忌不从宜之日,则仍注忌。凡天狗寅日忌祭祀,不注宜求福、祈嗣。
凡卯日忌穿井,不注宜开渠。壬日忌开渠,不注宜穿井。凡巳日忌出行,不注宜出师、遣使。凡酉日忌宴会,亦不注宜庆赐、赏贺。凡丁日忌剃头,亦不注宜整容。
凡吉凶相抵,不注忌祈福,亦不注忌求嗣。
凡忌诏命公卿、招贤,不注宜施恩、封拜、举正直、袭爵受封。凡忌施恩、封拜、举正直、袭爵受封,亦不注宜诏命公卿、招贤。凡宜宣政事之日遇往亡则改宣为布。凡月厌忌行幸、上官,不注宜颁诏、施恩封拜、诏命公卿、招贤、举正直。遇宜宣政事之日,则改宣为布。
凡吉凶相抵,不注忌结婚姻,亦不注忌冠带、纳采问名、嫁娶、进人口,如遇德犹忌之日则仍注忌。凡吉凶相抵,不注忌嫁娶,亦不注忌冠带、结婚姻、纳采问名、进人口、搬移、安床,如遇德犹忌之日,则仍注忌。遇不将而不注忌嫁娶者,亦仍注忌。遇亥日、厌对、八专、四忌、四穷而仍注忌嫁娶者,只注所忌之事,其不忌者仍不注忌。凡吉凶相抵,不注忌搬移,亦不注忌安床。不注忌安床,亦不注忌搬移。如遇德犹忌之日,则仍注忌。凡吉凶相抵,不注忌解除,亦不注忌整容、剃头、整手足甲。如遇德犹忌之日,则仍注忌。凡吉凶相抵,不注忌修造动土、竖柱上梁,亦不注忌修宫室、缮城郭、筑提防、修仓库、鼓铸、苫盖、修置产室、开渠穿井、安碓硙、补垣塞穴、修饰垣墙、平治道涂、破屋坏垣。如遇德犹忌之日,则仍注忌。凡吉凶相抵,不注忌开市,亦不注忌立券、交易、纳财。不注忌纳财,亦不注忌开市、立券、交易。不注忌立券、交易,亦不注忌开市、纳财。凡吉凶相抵,不注忌开市、立券、交易,亦不注忌开仓库、出货财。如遇专忌之日,则仍注忌。凡吉凶相抵,不注忌牧养,亦不注忌纳畜。不注忌纳畜,亦不注忌牧养。凡吉凶相抵,有宜安葬不注忌启攒,有宜启攒不注忌安葬。
凡土府、土符、地囊,只注忌补垣,亦不注宜塞穴。凡开日,不注宜破土、安葬、启攒,亦不注忌。遇忌则注。凡四忌、四穷只忌安葬。如遇鸣吠、鸣吠对亦不注宜破土、启攒。凡天吏、大时不以死败论者,遇四废、岁薄、逐阵仍以死败论。凡岁薄、逐阵日所宜事,照月厌所忌删去,所忌依然依从本日。
凡二月甲戌、四月丙申、六月甲午、七月戊申、八月庚辰、九月辛卯、十月甲子、十二月甲子、德合与赦(天赦)、愿(天愿)所会之辰,诸事不忌。
5、星次星纪、玄枵、娵訾、降娄、大梁、实沈、鹑首、鹑火、鹑尾、寿星、大火、析木
简介:无需数据库,以《钦定协纪辨方书》为核心的python3农历、黄历、二十四节气、节假日、星次、每日凶煞、每日值神、建除十二神、每日宜忌、彭祖百忌、每日五行、二十八星宿、天干地支、生辰八字、时辰凶吉等开源项目。背景:由于三体运动(主要地球、太阳、月球)无法准确预测,目前二十四节气依然还是靠天文台观测,Yovey使用传说中[Y*D+C]-L寿星通用公式方法实际有很多天数不准,defgetSolarTerms(_date)12个if嵌套判断让代码变得十分冗余,由简书网友“大咖_247c”首先发现计算不准问题……