国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Python農(nóng)歷庫zhdate 及200年農(nóng)歷數(shù)據(jù)壓縮存儲方法

2020-11-26 15:02 作者:象喻  | 我要投稿


  zhdate支持農(nóng)歷-公歷互相轉(zhuǎn)換、日期加減以及全中文日期生成,內(nèi)置了1900-2100年的農(nóng)歷數(shù)據(jù),僅依賴Python內(nèi)置模塊。該庫保存農(nóng)歷數(shù)據(jù)的方法很巧妙,我當(dāng)初看源碼時(shí)就留下了非常深刻的印象。


[農(nóng)歷庫為什么使用查表法而不是計(jì)算]

  農(nóng)歷是由天文觀測確定的歷法,并非數(shù)學(xué)周期。以月亮圓缺循環(huán)算做一個(gè)月,一輪是29天12時(shí)44分3秒。于是農(nóng)歷把月份分成大月30天和小月29天,但是這導(dǎo)致了一年是354天,所以又添加了閏月。根據(jù)我國當(dāng)前的農(nóng)歷執(zhí)行標(biāo)準(zhǔn),新月的判定以太陽、地球、月亮在地球軌道的夾角180°為據(jù)。各種農(nóng)歷算法本質(zhì)上是計(jì)算日月運(yùn)行軌跡,并且其中很多都不精確。

  所以簡單做法是直接保存農(nóng)歷數(shù)據(jù),與公歷(陽歷)對應(yīng)查詢。

查表法:將一些事先計(jì)算好的結(jié)果,存儲在數(shù)據(jù)中,需要時(shí)直接查取,節(jié)省計(jì)算開銷。

[zhdate農(nóng)歷庫的使用]

zhdate庫內(nèi)置了200年的農(nóng)歷數(shù)據(jù),并且數(shù)據(jù)存儲方法非常精妙。

[安裝]
pip install zhdate

項(xiàng)目網(wǎng)址
github.com/CutePandaSh/zhdate

[各種例子]


[二百年農(nóng)歷數(shù)據(jù)的存儲方法]

農(nóng)歷年份需要保存的數(shù)據(jù)?
1. 閏月的月份
2. 閏月是30天還是29天
3. 每個(gè)月是30天還是29天

閏月的月份用整數(shù)就能保存;閏月的天數(shù),0/1就可以保存(29或30);每月的天數(shù),保存方法跟閏月相同

以2020年為例:
2020年,閏4月29天。
正月 至 臘月? (0表示29天,1表示30天)
0111 1001 0101



轉(zhuǎn)換之后,200年農(nóng)歷數(shù)據(jù),就是個(gè)整數(shù)列表
之后只要再記錄任意一年的春節(jié)日期,就可算出200年的公歷對應(yīng)。作者為了減少計(jì)算量,直接保存了每年的春節(jié)日期。


Python農(nóng)歷庫zhdate 及200年農(nóng)歷數(shù)據(jù)壓縮存儲方法的評論 (共 條)

分享到微博請遵守國家法律
清河县| 西充县| 宝清县| 界首市| 五常市| 怀仁县| 瑞丽市| 湘阴县| 弥渡县| 新邵县| 蒙城县| 体育| 丰顺县| 宿松县| 文安县| 金川县| 寿宁县| 博乐市| 佛坪县| 泉州市| 平舆县| 新源县| 旌德县| 虞城县| 观塘区| 峡江县| 林周县| 清水河县| 凭祥市| 武安市| 清流县| 周宁县| 镇康县| 隆尧县| 阿拉尔市| 和硕县| 馆陶县| 昭苏县| 陇川县| 高要市| 大新县|