1 REM 2 REM Handling program for JULDAY 3 REM 5 DIM FLAG(1) 10 FLAG(0)=1 : PRINT 15 PRINT "Calendar date to Julian days" 20 FLAG(1)=0 : PRINT 25 INPUT "Calendar date (D,M,Y)"; DY,MN,YR 30 GOSUB 1100 : JD=DJD+2415020! 35 PRINT "J days since 1900 Jan 0.5: ";DJD 40 PRINT "Julian date..............: "; JD 44 PRINT : INPUT "Again (Y or N) "; AN$ 50 IF AN$="Y" THEN GOTO 20 55 STOP 1097 REM 1098 REM Subroutine JULDAY 1099 REM 1100 IF FLAG(1)=1 THEN RETURN 1105 DEF FNITG(W)=INT(W)+FLAG(0)*SGN(W)*INT((SGN(W)-1)/2) 1110 MN1=MN : YR1=YR : FLAG(1)=1 : B=0 1115 IF YR1<0 THEN YR1=YR1+1 1120 IF MN<3 THEN MN1=MN+12 : YR1=YR1-1 1125 IF YR<1582 THEN GOTO 1145 1130 IF YR=1582 AND MN<10 THEN GOTO 1145 1135 IF YR=1582 AND MN=10 AND DY<15 THEN GOTO 1145 1140 A=INT(YR1/100) : B=2-A+INT(A/4) 1145 IF YR1<0 THEN GOTO 1155 1150 C=INT(365.25*YR1)-694025! : GOTO 1160 1155 C=FNITG((365.25*YR1)-.75)-694025! 1160 D=INT(30.6001*(MN1+1)) 1165 DJD=B+C+D+DY-.5 1170 RETURN