最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
营口市| 越西县| 沂水县| 安阳市| 麦盖提县| 永川市| 大安市| 百色市| 邢台县| 策勒县| 会同县| 循化| 丽水市| 阳西县| 忻城县| 小金县| 剑阁县| 平湖市| 准格尔旗| 台湾省| 永川市| 昌都县| 蒙城县| 嘉义市| 乳山市| 武威市| 三门县| 东山县| 乌什县| 界首市| 陕西省| 东乌珠穆沁旗| 体育| 兰溪市| 南京市| 安化县| 澄江县| 寻甸| 汤阴县| 易门县| 柳州市|