五月天青色头像情侣网名,国产亚洲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ù)壓縮存儲方法的評論 (共 條)

分享到微博請遵守國家法律
沁源县| 集安市| 义马市| 庆安县| 个旧市| 无锡市| 缙云县| 会东县| 岳普湖县| 蛟河市| 三原县| 丹凤县| 通河县| 潞西市| 荣昌县| 嫩江县| 电白县| 区。| 阿拉善右旗| 搜索| 广宁县| 寿阳县| 鹿泉市| 晋江市| 依安县| 东兰县| 怀化市| 改则县| 奉新县| 同心县| 洪泽县| 渭源县| 花莲县| 沈阳市| 东海县| 墨江| 普格县| 巍山| 潼南县| 达尔| 沾益县|