GitHub

您所在的位置:网站首页 安床忌星宿 GitHub

GitHub

2024-07-11 15:50| 来源: 网络整理| 查看: 265

pyLunarCalendar 项目优点 1、不使用寿星通式[Y*D+C]-L,而使用香港天文台数据(阴阳合历,节气准农历日期才能准)

2、无数据库,依赖库少,运行快速,提供内容丰富

3、主要内容来自于《钦定协纪辨方书》,每一个神煞宜忌都有依据,遵循宜忌等第表,包含民用、御用事宜,且支持港式(通书配图)八字月柱算法-默认,通书原文文字农历月份算法,具体看date2LunarData.py

4、不盈利,开源免费,长期有人维护

5、民俗社会科学项目,不搞封建迷信,宜忌意义在于民间是将红白事合理分开,避免今日您宴请宾客,邻居办白事情况出现,引起邻里纠纷社会分裂。

特别鸣谢@DarkmoonRabbit(https://github.com/DarkmoonRabbit)

快速上手 import datetime import lunar a = lunar.Lunar(datetime.datetime(2019, 2, 4, 22, 30)) dic = { '日期': a.date, '农历数字': (a.lunarYear, a.lunarMonth, a.lunarDay, '闰' if a.isLunarLeapMonth else ''), '农历': '%s %s[%s]年 %s%s' % (a.lunarYearCn, a.year8Char, a.chineseYearZodiac, a.lunarMonthCn, a.lunarDayCn), '星期': a.weekDayCn, # 未增加除夕 '今日节日': (a.get_legalHolidays(), a.get_otherHolidays(), a.get_otherLunarHolidays()), '八字': ' '.join([a.year8Char, a.month8Char, a.day8Char, a.twohour8Char]), '今日节气': a.todaySolarTerms, '下一节气': (a.nextSolarTerm, a.nextSolarTermDate, a.nextSolarTermYear), '今年节气表': a.thisYearSolarTermsDic, '季节': a.lunarSeason, '今日时辰': a.twohour8CharList, '时辰凶吉': a.get_twohourLuckyList(), '生肖冲煞': a.chineseZodiacClash, '星座': a.starZodiac, '星次': a.todayEastZodiac, '彭祖百忌': a.get_pengTaboo(), '彭祖百忌精简': a.get_pengTaboo(long=4, delimit=''), '十二神': a.get_today12DayOfficer(), '廿八宿': a.get_the28Stars(), '今日三合': a.zodiacMark3List, '今日六合': a.zodiacMark6, '今日五行': a.get_today5Elements(), '纳音': a.get_nayin(), '九宫飞星': a.get_the9FlyStar(), '吉神方位': a.get_luckyGodsDirection(), '今日胎神': a.get_fetalGod(), '神煞宜忌': a.angelDemon, '今日吉神': a.goodGodName, '今日凶煞': a.badGodName, '宜': a.goodThing, '忌': a.badThing, '时辰经络': a.meridians } 项目概述: 由于三体运动(主要地球、太阳、月球)无法准确预测,目前二十四节气依然还是靠天文台观测,Yovey使用传说中[Y*D+C]-L方法实际有很多天数不准,def getSolarTerms(_date)12个if嵌套判断让代码变得十分冗余,由简书网友“大咖_247c”首先发现计算不准问题…… 【方案过程】 ![image.png](https://upload-images.jianshu.io/upload_images/2369108-a121d5e561adc30b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1、在校验过数据与公式差异后,第一方案是采用15%黄经夹角计算,计算后差异依然存在,地球椭圆形轨道一年内公转速度差异超过7%; 开普勒.gif

2、在发现椭圆轨道问题后,尝试使用平均值、开普勒第二定律计算行星轨道,计算值已经十分贴近了,但依然和香港天文台数据有差异,恍然大悟,地球、月亮、太阳三个天体呈现无法完美预测的三体运动,甚至还包括木星引力影响(比如传说中九星连珠,虽然引力抵消微弱),而且太阳本身也在运动,地球和太阳的质量也不是永恒不变的,这就导致地球的恒星年相对稳定,但回归年浮动振荡; image.png

3、当试过所有技术物理原理还无法调节误差后,最终使用了Chen Jian的核心设计理念,添加了十六进制加存二十四节气。(还是要靠香港天文台) coding=UTF-8 1901~2100年农历数据表 Author: cuba3 base code by Yovey , https://www.jianshu.com/p/8dc0d7ba2c2a powered by Late Lee, http://www.latelee.org/python/python-yangli-to-nongli.html#comment-78 other author:Chen Jian, http://www.cnblogs.com/chjbbs/p/5704326.html 数据来源: http://data.weather.gov.hk/gts/time/conversion1_text_c.htm

【GITHUB/cuba3】:pyLunarCalendar项目地址>>https://github.com/OPN48/pyLunarCalendar

跟进Chen Jian的设计思路,增加了一层向量压缩。 因为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 位移算法



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3