home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib42a.dsk
/
JULY.1992
/
JULIAN.DATE.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
3KB
|
93 lines
10 REM ******************************
20 REM * JULIAN DATE CONVERSION *
30 REM * BY PATRICK CROWLEY *
40 REM * COPYRIGHT 1992 BY *
50 REM * MINDCRAFT PUBL. CORP. *
60 REM ******************************
70 REM
80 HOME
90 VTAB 3
100 HTAB 10: PRINT "** DAYS BETWEEN DATES **": HTAB 5: PRINT " PRESS RETURN AFTER ENTERING"
110 HTAB 6
120 PRINT "EACH MONTH - EACH DAY - EACH YEAR": HTAB 5: PRINT " EX: 1 <RTN> 1 <RTN> 92 <RTN>"
130 DYS = FIN = ST = NUM = YRS = 0
140 FL$ = ""
150 VTAB 9: HTAB 5
160 PRINT "ENTER STARTING DATE"
170 VTAB 10: HTAB 5
180 PRINT "MONTH DAY YEAR "
190 HTAB 5: INPUT " ";M1
200 VTAB 11: HTAB 11: INPUT " ";D1
210 VTAB 11: HTAB 16: INPUT " ";Y1
220 VTAB 14: HTAB 5
230 PRINT "ENTER THE END DATE"
240 VTAB 16: HTAB 5
250 PRINT "MONTH DAY YEAR"
260 HTAB 5: INPUT " ";M2
270 VTAB 17: HTAB 11: INPUT " ";D2
280 VTAB 17: HTAB 16: INPUT " ";Y2
290 DD = D1
300 MM = M1
310 YY = Y1
320 GOSUB 730
330 ST = NUM
340 NUM = 0
350 DD = D2
360 MM = M2
370 YY = Y2
380 GOSUB 730
390 FIN = NUM
400 IF M2 >M1 OR (M2 = M1 AND D2 > = D1) THEN FL$ = "SAME"
410 IF FL$ = "SAME" THEN GOSUB 520
420 IF FL$ < >"SAME" THEN GOSUB 580
430 VTAB 19: HTAB 5
440 PRINT "TOTAL TIME = ";YRS;
450 PRINT " YEARS AND ";DYS;" DAYS"
460 PRINT : PRINT
470 PRINT "DO YOU WANT TO GO AGAIN?"
480 PRINT : INPUT "ENTER 'Y' OR 'N' ";A$
490 IF A$ = "N" THEN 510
500 GOTO 80
510 END
520 REM END DAY NUMBER IS >= START DAY NUMBER
530 DYS = FIN -ST
540 YRS = Y2 -Y1
550 REM IF YOU WISH TO COUNT THE END DAY AS A DAY E.G. A DAY WORKED THEN ACTIVATE THE NEXT STATEMENT
560 REM DYS=DYS+1
570 RETURN
580 REM END DAY NUMBER < START DAY NUMBER
590 REM CONVERT START YEAR TO ONE YEAR BACK
600 DD = D1
610 MM = M1
620 YY = Y2 -1
630 GOSUB 730
640 ST = NUM
650 YRS = (Y2 -Y1) -1
660 IF YRS <0 THEN YRS = 0
670 DYS = 365 -ST
680 REM CHECK FOR LEAP
690 IF R1 = R2 THEN DYS = DYS +1
700 DYS = DYS +FIN
710 RETURN
720 REM JULIAN CONVERSION ROUTINE
730 NUM = 0
740 ON MM GOTO 860,850,840,830,820,810,800,790,780,770,760,750
750 NUM = NUM +30
760 NUM = NUM +31
770 NUM = NUM +30
780 NUM = NUM +31
790 NUM = NUM +31
800 NUM = NUM +30
810 NUM = NUM +31
820 NUM = NUM +30
830 NUM = NUM +31
840 NUM = NUM +28
850 NUM = NUM +31
860 NUM = NUM +DD
870 R1 = YY/4
880 REM CHECK FOR LEAP YEAR
890 REM R2=INT(R1)
900 IF R1 = R2 AND NUM >59 THEN NUM = NUM +1
910 REM NOW TO HANDLE INPUT OF FEB.29
920 IF R1 = R2 AND NUM = 61 AND DD = 29 THEN NUM = NUM -1
930 RETURN