



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
電子萬年歷中實(shí)現(xiàn)農(nóng)農(nóng)合成互換
隨著電子技術(shù)的發(fā)展,萬年歷不再局限于以書的形式出現(xiàn)。以電腦軟件或者電子產(chǎn)品形式出現(xiàn)的萬年歷被稱為電子萬年歷。與傳統(tǒng)書本形式的萬年歷相比,電子萬年歷得到了越來越廣泛的應(yīng)用。然而,目前一般的電子萬年歷僅能顯示與公歷有關(guān)的信息,而日常生活等方面往往離不開與農(nóng)歷有關(guān)的信息。為了使得電子萬年歷能更方便地顯示更多的信息,筆者對(duì)電子萬年歷涉及到的常用信息處理算法進(jìn)行了一些研究,提出了一種建表算法。這種建表算法與同類算法相比有以下優(yōu)點(diǎn):①需要存儲(chǔ)的數(shù)據(jù)量小。②計(jì)算方法簡(jiǎn)便。③不僅可以顯示公歷,而且可以顯示農(nóng)歷。④不僅可以顯示當(dāng)前日期,而且可以查詢其他日期。下面以覆蓋年度從1800年到2199年為例,詳細(xì)介紹實(shí)現(xiàn)公歷與農(nóng)歷之間相互轉(zhuǎn)換的建表算法。1百年內(nèi)中國邊界期2002—建立基本數(shù)據(jù)表建立基本數(shù)據(jù)表的目的是實(shí)現(xiàn)公歷與農(nóng)歷之間的相互轉(zhuǎn)換。由于公歷信息每年基本不變,而農(nóng)歷信息每年變化很大,因此,對(duì)于覆蓋年度里的每一年,在基本數(shù)據(jù)表里主要存儲(chǔ)與農(nóng)歷有關(guān)的數(shù)據(jù):該年年份、該年閏月有無以及閏月的月份、該年各月的大小、從元旦到正月初一的天數(shù)(即歲首積日差)。在基本數(shù)據(jù)表里筆者用8位十六進(jìn)制數(shù)D7D6D5D4D3D2D1D0(4個(gè)字節(jié))描繪一年的信息,其中每位十六進(jìn)制數(shù)又可以用4位二進(jìn)制數(shù)(b3b2b1b0)表示。下面以一個(gè)具體的例子來說明基本數(shù)據(jù)表里的數(shù)據(jù)格式(圖1)。1)D7(b3b2b1b0)的前2兩位b3b2表示百年值(譬如1982年所對(duì)應(yīng)的百年值為19),后2位表示歲首積日差對(duì)15求商得到的商值(整數(shù))。要實(shí)現(xiàn)覆蓋年度1800到2199年的目標(biāo),只要前2位數(shù)(b3b2)對(duì)應(yīng)的十進(jìn)制數(shù)再加上18(十進(jìn)制數(shù))就能得到該年的百年值,即00代表1800年,01代表1900年,10代表2000年,11代表2100年。通過大量數(shù)據(jù)統(tǒng)計(jì)可得:對(duì)于任何年份,其歲首積日差均少于60日,而從1800年到2199年每一年的歲首積日差均不超過50日。因此,用D7(b3b2b1b0)的后2位b1b0就能表示歲首積日差對(duì)15求商得到的商值,即00代表0日,01代表15日,10代表30日,11代表45日。本例中D7表示該年年份為1900年到1999年中的某一年(具體由D6和D5決定),歲首積日差為30到44日中的某值(具體天數(shù)由D0決定)。2)D6(b3b2b1b0)前1位b3表示該年閏月大小,后3位b2b1b0表示該年所在百年內(nèi)的年份值(譬如1982年所對(duì)應(yīng)的百年內(nèi)的年份值為82)對(duì)16求商得到的商值。高位b3為1代表閏月小,為0代表無閏月或者閏月大;低3位b2b1b0與百年內(nèi)的年份值有以下對(duì)應(yīng)關(guān)系,000代表0年,001代表16年,010代表32年,011代表48年,100代表64年,101代表80年,110代表96年,111空余。本例中D6表示無閏月或者有閏月而且是大月(有無閏月具體由D1決定),該年所在百年內(nèi)年份值在80年到95年之間某值(具體由D5決定)。3)D5表示該年所在百年內(nèi)年份值對(duì)16求商后得到的余值,從0000到1111分別代表從0到15年。本例中D5表示6年,綜合上面D7D6可以知道本例中所舉的年份是1986年。4)D4D3D2的二進(jìn)制形式表示各月(依次從12月到1月)大小組合,0代表大月,1代表小月。本例中十六進(jìn)制D4D3D2為0XD45即二進(jìn)制110101001001,代表1,4,7,9,11,12月為小月,其余月為大月。5)D1表示閏月出現(xiàn)的月份,從0001到1100分別代表閏月出現(xiàn)在12個(gè)月中從1到12月的某月,0000表示沒有閏月,從1101到1111空余。本例中0000表示沒有閏月。6)D0表示歲首積日差對(duì)15求商得到的余值,從0000到1110代表從0到14天。D7后2位和D0共同表示歲首積日差。本例中D0為0X9,綜合上面信息可以推得1986年歲首積日差是39日。2標(biāo)準(zhǔn)麻黃的特點(diǎn)要實(shí)現(xiàn)公歷與農(nóng)歷之間的相互轉(zhuǎn)換,為了方便起見,筆者引入5個(gè)變量:標(biāo)準(zhǔn)陽歷、標(biāo)準(zhǔn)陰歷、準(zhǔn)公歷、準(zhǔn)農(nóng)歷和假積日。其中,標(biāo)準(zhǔn)陽歷和標(biāo)準(zhǔn)陰歷的特點(diǎn)是每月均為30天;準(zhǔn)公歷和準(zhǔn)農(nóng)歷為初步確定的公歷和農(nóng)歷,有待驗(yàn)證和修正(在后面具體介紹);假積日是某日對(duì)應(yīng)月數(shù)乘以30加上該日對(duì)應(yīng)的日數(shù)。2.1從越界改革開放到麻黃1979年筆者通過4個(gè)轉(zhuǎn)換過程來實(shí)現(xiàn)公歷到農(nóng)歷的轉(zhuǎn)換(即公歷→標(biāo)準(zhǔn)陽歷→標(biāo)準(zhǔn)陰歷→準(zhǔn)農(nóng)歷→農(nóng)歷)。在實(shí)現(xiàn)從公歷到農(nóng)歷的轉(zhuǎn)換過程中,不但要用到基本數(shù)據(jù)表里該年的數(shù)據(jù),而且還可能要用到上年的數(shù)據(jù)。因此,根據(jù)該年的公歷年份,先查詢基本數(shù)據(jù)表得到該年和上年數(shù)據(jù),然后解釋得到的數(shù)據(jù)所代表的有用(可能用到的)信息。這里以1981年4月13日為例具體介紹從公歷到農(nóng)歷的轉(zhuǎn)換。因?yàn)楸纠?981年和1980年的數(shù)據(jù)分別是0X65126D05和0X75025601,該數(shù)據(jù)代表的有用信息為:1981年無閏月,1,3,4,6,7,10月是小月,其余月是大月,歲首積日差是35日;1980年無閏月,11,12月是大月。1標(biāo)準(zhǔn)縣級(jí)假積日的計(jì)算根據(jù)該公歷日期及該日前幾個(gè)月大小(判斷是否是閏年),轉(zhuǎn)換公歷成標(biāo)準(zhǔn)陽歷,求出標(biāo)準(zhǔn)陽歷的假積日。通過公歷日數(shù)加上大月個(gè)數(shù)求得某日數(shù)(若公歷日期在2月后,平年則日數(shù)再減去2,閏年則日數(shù)再減去1)。如果該日數(shù)小于1,那么,30加上該日數(shù)為標(biāo)準(zhǔn)陽歷日數(shù),公歷月數(shù)減去1為標(biāo)準(zhǔn)陽歷月數(shù);如果該日數(shù)大于30,那么,該日數(shù)減去30為標(biāo)準(zhǔn)陽歷日數(shù),公歷月數(shù)加上1為標(biāo)準(zhǔn)陽歷月數(shù);否則,該日數(shù)為標(biāo)準(zhǔn)陽歷日數(shù),公歷月數(shù)為標(biāo)準(zhǔn)陽歷月數(shù)。根據(jù)假積日的定義求出標(biāo)準(zhǔn)陽歷的假積日。因?yàn)?1981年是平年,4月前有2個(gè)大月和2月,13+2-2=13,1<13<30。所以,公歷1981年4月13日是標(biāo)準(zhǔn)陽歷1981年4月13日,標(biāo)準(zhǔn)陽歷的假積日是4×30+13=133日。2計(jì)算某刑期為標(biāo)準(zhǔn)東南角,其符合以下情況標(biāo)準(zhǔn)陽歷的假積日減去歲首積日差得到標(biāo)準(zhǔn)陰歷的假積日。如果該假積日大于30,直接轉(zhuǎn)換成標(biāo)準(zhǔn)陰歷(該假積日對(duì)30求商得到商值和余值,商值為標(biāo)準(zhǔn)陰歷月數(shù),余值為標(biāo)準(zhǔn)陰歷日數(shù));如果該假積日不大于30,用30減去該假積日得到某日數(shù),轉(zhuǎn)換該日數(shù)成標(biāo)準(zhǔn)陰歷月日(該日數(shù)對(duì)30求商得到商值和余值,12月減去該商值為標(biāo)準(zhǔn)陰歷月數(shù),30日減去該余值為標(biāo)準(zhǔn)陰歷日數(shù)),標(biāo)準(zhǔn)陽歷年數(shù)減去1為標(biāo)準(zhǔn)陰歷年數(shù)。因?yàn)?本例中標(biāo)準(zhǔn)陰歷的假積日是133-35=98日,98>30,98/30=3,98%30=8,1981年3月前無閏月,有1個(gè)小月,所以,公歷1981年4月13日是標(biāo)準(zhǔn)陰歷1981年3月8日。3月數(shù)統(tǒng)計(jì)的準(zhǔn)重判斷該日對(duì)應(yīng)標(biāo)準(zhǔn)陰歷和公歷年份關(guān)系。如果兩者在同一年,那么,根據(jù)標(biāo)準(zhǔn)陰歷對(duì)應(yīng)農(nóng)歷該月前有無閏月以及各月大小(若有閏月則先把月數(shù)減去1,再判斷該月是否閏月,然后把日數(shù)加上小月個(gè)數(shù)),得到準(zhǔn)農(nóng)歷;如果兩者不在同一年,那么,根據(jù)上年該月后(包括當(dāng)月)有無閏月以及該月后各月大小(日數(shù)減去小月個(gè)數(shù),若有閏月則該月前面加閏字),得到準(zhǔn)農(nóng)歷。因?yàn)楸纠袠?biāo)準(zhǔn)陰歷和公歷在同一年,1981年3月前無閏月,有一個(gè)小月,所以公歷1981年4月13日是準(zhǔn)農(nóng)歷1981年3月9日。4修正的農(nóng)村金融實(shí)行準(zhǔn)農(nóng)耕日期和顯著減少選擇判斷該日準(zhǔn)農(nóng)歷和標(biāo)準(zhǔn)陰歷月數(shù)關(guān)系。如果準(zhǔn)農(nóng)歷比標(biāo)準(zhǔn)陰歷多一個(gè)月,那么,根據(jù)標(biāo)準(zhǔn)陰歷當(dāng)月大小,修正得到農(nóng)歷(若月小則準(zhǔn)農(nóng)歷日數(shù)再加上1為公歷日數(shù));如果準(zhǔn)農(nóng)歷比標(biāo)準(zhǔn)陰歷少一個(gè)月,那么,根據(jù)準(zhǔn)農(nóng)歷當(dāng)月大小,修正得到農(nóng)歷(若月小則準(zhǔn)農(nóng)歷日數(shù)再減去1為公歷日數(shù));否則不用修正。因?yàn)?月9日和3月8日在同一個(gè)月,所以公歷1981年4月13日是農(nóng)歷1981年3月9日。2.2介紹轉(zhuǎn)換過程筆者通過四個(gè)轉(zhuǎn)換過程來實(shí)現(xiàn)農(nóng)歷到公歷的轉(zhuǎn)換(即農(nóng)歷→標(biāo)準(zhǔn)陰歷→標(biāo)準(zhǔn)陽歷→準(zhǔn)公歷→公歷)。在實(shí)現(xiàn)過程中需要使用基本數(shù)據(jù)表中的數(shù)據(jù),因此,在介紹轉(zhuǎn)換過程前,先根據(jù)舉例中該年農(nóng)歷年代,查詢基本數(shù)據(jù)表得到該年數(shù)據(jù),然后解釋數(shù)據(jù)代表的信息。這里以農(nóng)歷2006年8月15日為例具體介紹從農(nóng)歷到公歷的轉(zhuǎn)換。因?yàn)楸纠?2006年數(shù)據(jù)是0X98622A7D,該數(shù)據(jù)代表信息:2006年有閏7月而且閏月為小月,2,4,6,10月為小月,其余月為大月,歲首積日差為28日。1計(jì)算某周期下標(biāo)準(zhǔn)微生物月數(shù)根據(jù)需要轉(zhuǎn)換的農(nóng)歷日期及其該月前幾個(gè)月有無閏月、農(nóng)歷各月大小,轉(zhuǎn)換農(nóng)歷成標(biāo)準(zhǔn)陰歷,求出標(biāo)準(zhǔn)陰歷的假積日。通過農(nóng)歷日數(shù)減去小月個(gè)數(shù)(包括閏月)求得某日數(shù)。如果該日數(shù)小于1,那么,該日數(shù)加上30為標(biāo)準(zhǔn)陰歷日數(shù),農(nóng)歷月數(shù)減去1為標(biāo)準(zhǔn)陰歷月數(shù);否則,該日數(shù)為標(biāo)準(zhǔn)陰歷日數(shù),農(nóng)歷月數(shù)為標(biāo)準(zhǔn)陰歷月數(shù)。若有閏月則標(biāo)準(zhǔn)陰歷月數(shù)再加上1。根據(jù)假積日定義求出標(biāo)準(zhǔn)陰歷的假積日。因?yàn)?2006年8月前有閏7月,2,4,6、閏7月4個(gè)月是小月,8+1=9月,15-4=11日,所以,農(nóng)歷2006年8月15日就是標(biāo)準(zhǔn)陰歷2006年9月11日,標(biāo)準(zhǔn)陰歷的假積日是9×30+11=281日。2標(biāo)準(zhǔn)支付及能譜分析標(biāo)準(zhǔn)陰歷的假積日加上歲首積日差得到標(biāo)準(zhǔn)陽歷的假積日,該假積日對(duì)30求商得到商值和余值,該商值為標(biāo)準(zhǔn)陽歷月數(shù),該余值為標(biāo)準(zhǔn)陽歷日數(shù),確定出標(biāo)準(zhǔn)陽歷。因?yàn)?歲首積日差是28日,281+28=309日,309/30=10月,309%30=9日,所以,農(nóng)歷2006年8月15日是標(biāo)準(zhǔn)陽歷10月9日。3選擇適用公務(wù)該月的日期標(biāo)準(zhǔn)陽歷日數(shù)減去對(duì)應(yīng)公歷同日(月數(shù)和日數(shù)相同)前幾個(gè)月中大月個(gè)數(shù),求得某日數(shù)(如果標(biāo)準(zhǔn)陽歷在2月以后,平年則該日數(shù)再加上2,閏年則該日數(shù)再加上1)。判斷該日數(shù)是否在公歷該月范圍內(nèi)。如果該日數(shù)不大于零,那么,上月日數(shù)減去該日數(shù)為準(zhǔn)公歷日數(shù),標(biāo)準(zhǔn)陽歷月數(shù)減去1為準(zhǔn)公歷月數(shù);如果該日數(shù)大于公歷該月日數(shù),那么,該日數(shù)減去公歷該月日數(shù)為準(zhǔn)公歷日數(shù),標(biāo)準(zhǔn)陽歷月數(shù)加上1為準(zhǔn)公歷月數(shù);否則,該日數(shù)為準(zhǔn)公歷日數(shù),標(biāo)準(zhǔn)陽歷月數(shù)為準(zhǔn)公歷月數(shù)。因?yàn)?2006年10月前有5個(gè)大月,2006年是平年,標(biāo)準(zhǔn)陽歷月在2月以后,9-5+2=6,6大于0且小于30(10月為30日),所以,農(nóng)歷2006年8月15日是準(zhǔn)公歷10月6日。4按標(biāo)準(zhǔn)麻黃里月數(shù)關(guān)系如果準(zhǔn)公歷月數(shù)大于12,就把準(zhǔn)公歷月數(shù)減去12,年數(shù)加上1。判斷準(zhǔn)公歷和標(biāo)準(zhǔn)陽歷(或減去12后)月數(shù)的關(guān)系。如果準(zhǔn)公歷比標(biāo)準(zhǔn)陽歷少一個(gè)月,那么,根據(jù)標(biāo)準(zhǔn)陽歷該月大小,修正得到公歷(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源資源開發(fā)與利用作業(yè)指導(dǎo)書
- 醫(yī)院建設(shè)項(xiàng)目可行性研究
- 公共建筑節(jié)能(綠色建筑)設(shè)計(jì)標(biāo)準(zhǔn)
- 醫(yī)療器械居間銷售提成保證
- 4S店裝修環(huán)保保證金協(xié)議
- 高鐵經(jīng)濟(jì)圈用地購置居間
- 信息化項(xiàng)目可行性研究報(bào)告編制規(guī)范
- 2025年度保健食品個(gè)性化定制配送與市場(chǎng)推廣服務(wù)合同
- 農(nóng)民合作社志愿者招募手冊(cè)
- 低空經(jīng)濟(jì)未來產(chǎn)業(yè)
- 外傷急救知識(shí)外傷急救包扎技術(shù)培訓(xùn)PPT教學(xué)課件
- 2022年山西職業(yè)技術(shù)學(xué)院?jiǎn)握忻嬖囋囶}及答案解析
- 低壓變頻器技術(shù)規(guī)范書
- 我的好朋友優(yōu)秀課件
- 松濤水利樞紐設(shè)計(jì)
- 2022版義務(wù)教育(語文)課程標(biāo)準(zhǔn)(含2022年修訂部分)
- 兒童青少年同伴關(guān)系評(píng)級(jí)量表
- 電磁閥基礎(chǔ)知識(shí)培訓(xùn)課件
- 場(chǎng)地清理檢驗(yàn)批質(zhì)量驗(yàn)收及記錄
- 鋼軌超聲波探傷PPT
- 磁共振1.5T和3.0T的差異課件
評(píng)論
0/150
提交評(píng)論