五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ù)壓縮存儲方法的評論 (共 條)

分享到微博請遵守國家法律
女性| 沁阳市| 高清| 南陵县| 抚顺县| 崇信县| 阜平县| 临夏县| 辽宁省| 右玉县| 茌平县| 延寿县| 时尚| 安顺市| 邢台县| 清原| 田阳县| 石泉县| 鄂尔多斯市| 资源县| 黄龙县| 临洮县| 湖南省| 洪湖市| 石棉县| 若尔盖县| 平湖市| 溧水县| 屏东市| 西吉县| 惠水县| 浦江县| 甘洛县| 沧州市| 出国| 大余县| 贞丰县| 屯留县| 西丰县| 化隆| 长宁县|