干支(えと) の計算 SECOND 2008/01/12 02:18:50 (修正1回) ├!干支(えと)の計算4※こちらの「空打ち」は... SECOND 2008/01/12 15:43:11 (修正4回) ├テキストWindowを起動時に、位置と、大きさ... SECOND 2008/01/12 16:18:03 │└WINHANDLE関数を使うとWin32APIに渡すための... 白石 和夫 2008/01/12 18:31:28 │ └すみません、トップページも見るようにしま... SECOND 2008/01/12 20:15:11 ├!広範囲B.C.4713(-4712)~2400~のユリウス日... SECOND 2008/01/13 14:35:13 (修正3回) │└!続く SECOND 2008/01/13 14:36:31 (修正2回) │ └ユリウス日とは、何か。 SECOND 2008/01/14 06:45:15 └グレゴリオ暦とユリウス暦の両方を表示でき... 荒田浩二 2008/01/20 11:40:55 ├!<続き> 荒田浩二 2008/01/20 11:44:36 │└![続き] 荒田浩二 2008/01/20 11:52:14 │ └!(続き) 荒田浩二 2008/01/20 11:56:51
Re: ![続き] |
返事を書く ノートメニュー |
荒田浩二 <knrztrhoel> 2008/01/20 11:56:51 | |
!(続き)
SUB today ! A)本日との日数差 LET ttd$=DATE$ ! tAJD = 今日のユリウス通日 LET ty=VAL(ttd$(1:4)) LET tm=VAL(ttd$(5:6)) LET td=VAL(ttd$(7:8)) IF tm=1 OR tm=2 THEN LET ty=ty-1 LET tm=tm+12 END IF LET tAJD=INT(365.25*ty)+INT(ty/400)-INT(ty/100)+INT(30.59*(tm-2))+td-678912+2400000.5 IF AJD-tAJD>=0 THEN PRINT USING " A) 今日(####/##/##)から ######### 日後":ttd$(1:4),ttd$(5:6),ttd$(7:8),AJD-tAJD ELSE PRINT USING " A) 今日(####/##/##)から ######### 日前":ttd$(1:4),ttd$(5:6),ttd$(7:8),tAJD-AJD END IF END SUB SUB eto ! B)干支 MAT READ 十干$,十干かな$,十二支$,十二支かな$ DATA 甲,乙,丙,丁,戊,己,庚,辛,壬,癸 DATA きのえ,きのと,ひのえ,ひのと,つちのえ,つちのと,かのえ,かのと,みずのえ,みずのと DATA 子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥 DATA ね,うし,とら,う,たつ,み,うま,ひつじ,さる,とり,いぬ,い LET y10a=6 IF y<0 THEN LET y10a=7 LET y十干code=MOD(y+y10a,10) LET y12a=8 IF y<0 THEN LET y12a=9 LET y十二支code=MOD(y+y12a,12) LET 十干code=MOD(AJD+9.5,10) LET 十二支code=MOD(AJD+1.5,12) LET jdweekcode=MOD(AJD+1.5,7) ! ユリウス通日から曜日を算出 PRINT " B) ユリウス通日から算出した干支と曜日" PRINT TAB(4);十干$(y十干code);十二支$(y十二支code); PRINT "(";十干かな$(y十干code);十二支かな$(y十二支code);")年;"; PRINT 十干$(十干code);十二支$(十二支code); PRINT "(";十干かな$(十干code);十二支かな$(十二支code);")日:"; PRINT w$(jdweekcode);"曜日" END SUB SUB all_greg ! C)通年グレゴリオ年月日 LET pMJD=jMJD(jdy,jdm,jdd) LET gjdy=(pMJD+678912-30)/365.25 ! 調整値;-30 LET gjdy=INT(gjdy+(-INT(gjdy/400)+INT(gjdy/100))/365.25) LET gjdm=INT((pMJD-(INT(365.25*gjdy)+INT(gjdy/400)-INT(gjdy/100)-678912))/30.59+2) LET gjdd=pMJD-(INT(365.25*gjdy)+INT(gjdy/400)-INT(gjdy/100)+INT(30.59*(gjdm-2))-678912) IF gjdm=2 AND gjdd=30 THEN LET gjdy=gjdy-1 LET gjdm=14 LET gjdd=29 END IF IF (gjdy+1)/100=INT((gjdy+1)/100) AND (gjdy+1)/400<>INT((gjdy+1)/400) AND gjdm=14 AND gjdd=29 THEN LET gjdy=gjdy+1 LET gjdm=3 LET gjdd=1 END IF IF gjdm>12 THEN LET gjdy=gjdy+1 LET gjdm=gjdm-12 END IF LET y1w=weekcirc(MOD(y+15,7*4)) PRINT " C) ユリウス暦";sy$;"年";sm$;"月";sd$;"日(";w$(weekcode(d));")をグレゴリオ暦で表示" PRINT USING " -########年##月##日(##)":gjdy,gjdm,gjdd,w$(weekcode(d)); PRINT " === 現行のカレンダーでの位置" END SUB !"続く" |
│ └!"続き" 荒田浩二 2008/01/20 11:58:05 └紀元0年については、理科年表の「ユリウス... SECOND 2008/01/20 15:50:59 (修正6回) └続く SECOND 2008/01/21 16:02:27 └天文関係では紀元0年を設定しているとは不明... 荒田浩二 2008/01/23 20:25:33 └私も、初めてお聞きする事で、できれば・・... SECOND 2008/01/24 05:50:01 (修正1回)