home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / astrmenu.lbr / JDCAL.BZS / JDCAL.BAS
BASIC Source File  |  1987-04-26  |  1KB  |  37 lines

  1. 1 PRINT "From the May 1984 SKY & TELESCOPE, pp. 454-5."
  2. 2 PRINT
  3. 3 PRINT "This program converts a Julian date to a civil date.  It will work"
  4. 4 PRINT "with either the Gregorian or Julian calendar, and with either"
  5. 5 PRINT "positive or negative years."
  6. 6 PRINT
  7. 7 PRINT "INPUT:  Julian Day number (J), Julian Day fractional part (F),"
  8. 8 PRINT "        Julian or Gregorian calendar."
  9. 9 PRINT
  10. 10 PRINT "OUTPUT:  Year, month, day (with fraction) (UT)."
  11. 11 PRINT
  12. 900 REM JD --> CALENDAR
  13. 905 REM
  14. 910 INPUT "J,F ";J,F
  15. 915 INPUT "JC (0) OR GC (1) ";G
  16. 920 F=F+.5
  17. 925 IF F<1 THEN 935
  18. 930 F=F-1 : J=J+1
  19. 935 IF G=1 THEN 945
  20. 940 A=J : GOTO 955
  21. 945 A1=INT((J/36524.25)-51.12264)
  22. 950 A=J+1+A1-INT(A1/4)
  23. 955 B=A+1524
  24. 960 C=INT((B/365.25)-.3343)
  25. 965 D=INT(365.25*C)
  26. 970 E=INT((B-D)/30.61)
  27. 975 D=B-D-INT(30.61*E)+F
  28. 980 M=E-1 : Y=C-4716
  29. 985 IF E>13.5 THEN M=M-12
  30. 990 IF M<2.5 THEN Y=Y+1
  31. 995 PRINT "DATE: ";Y;M;D
  32. 997 RUN"ASTRMENU.BAS"
  33. +F
  34. 980 M=E-1 : Y=C-4716
  35. 985 IF E>13.5 THEN M=M-12
  36. 990 IF M<2.5 THEN Y=Y+1
  37.