新しく発言する  EXIT  インデックスへ
干支(えと)の計算

  干支(えと)  の計算 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回)

Re: !広範囲B.C.4713(-4712)~2400~のユリウス日...  返事を書く  ノートメニュー
SECOND <jjqdmekgpt> 2008/01/13 14:36:31 ** この記事は2回修正されてます
!続く
!--------------------------------------------------------------
!Julian Day number

!広範囲の式。(-4712.1.1~2400. . ) 消滅区間1582.10.5~1582.10.14
!--------------------------------------------------------------

!西暦年月日 YY.MM.DD から、ユリウス日 J2_ の計算
SUB L_JU200
LET WY=YY
IF 1582<WY THEN
!-- ( 1583.1.1~ yyyy.12.31), J1700= J.(1600+100. 1.0)
LET ww=INT(WY/100)
LET WY=WY-100*ww
LET J0_=J1700+INT(36524.25*(ww-17))
IF MOD(ww,4)<>0 THEN LET J1=365 ELSE LET J1=366
!--- WY.MM.DD=00.1.1~99.12.31, J0_=J.(ww00.1.0) J1=365|366
CALL L_JU26
ELSE
!--
LET J0_=J0000
LET J1=366
CALL L_JU26 !     J0_=J.(0000.1.0) J1=366
IF J1582A4<J2_ THEN ! 1582.10.4<
LET J2_=J2_-10
IF J2_=< J1582A4 THEN LET J2_=-1 ! 1582.10.5 ~1582.10.14 error
END IF
END IF
END SUB ! ~1582.10.4 1582.10.15~1582.12.31 ok.

SUB L_JU26
IF 2<MM THEN
LET WM=MM+1
ELSE
LET WM=MM+13
LET WY=WY-1
END IF
IF WY=-1 THEN
LET J2_=J0_-428 +INT(30.6001*WM)+DD
ELSE
LET J2_=J0_-428+J1+INT(365.25*WY)+INT(30.6001*WM)+DD
END IF
END SUB

!---------------
!ユリウス日 J2_ から、西暦年月日 曜日 LY.LM.LD WEEK( 0:SUN~6:SAT)の逆計算
SUB L_DJ200
IF J1582A4 <J2_ THEN !   1582.10.4<
!'--(1582.10.15~1582~12.31) (1583.1.1~ ) J1700=J.(1700.01.00)
LET ww=INT((J2_-J1700)/36524.25)+17 !  ( ww00.01.00)
LET J0_=J1700+INT(36524.25*(ww-17))
IF MOD(ww,4)<>0 THEN LET J1=365 ELSE LET J1=366
CALL L_DJ27
LET LY=LY+100*ww
ELSE
LET J0_=J0000
LET J1=366 !  J0000= J.(0000.1.0)
CALL L_DJ27
END IF
END SUB

SUB L_DJ27
LET D_=J2_-J0_+428-J1
LET LY=INT((D_-122.0001)/365.25)
IF LY=-1 THEN LET W_=D_+J1 ELSE LET W_=D_-INT(365.25*LY)
LET LM=INT( W_/30.6001)
LET LD=W_-INT( 30.6001*LM)
IF LM<14 THEN LET LM=LM-1 ELSE LET LM=LM-13
IF LM< 3 THEN LET LY=LY+1
!'--
LET WEEK=MOD(J2_+1,7)
END SUB

END

  │ └ユリウス日とは、何か。 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 
   │  └!"続き" 荒田浩二 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回)

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。