home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / rbbs_pc / calllog.arc / GREGJUL.BAS < prev   
BASIC Source File  |  1989-03-08  |  1KB  |  43 lines

  1. SUB GREGJUL ( GREGDATE$, JULYEAR%, JULDAY% ) STATIC
  2. REM (C)opyright 1989 James J. Eager
  3. REM
  4. REM convert the Gregorian date in MM-DD-YY or MM-DD-YYYY format into julian
  5. REM
  6. REM input - GREGDATE$
  7. REM output - JULYEAR%, JULDAY%
  8. REM
  9. DIM CMD$(10),MON%(12)
  10. RESTORE
  11. JULYEAR% = 0
  12. JULDAY% = 0
  13. CALL PARSE (GREGDATE$,CMD$(),"-","X")
  14. JULYEAR% = VAL(CMD$(3))
  15. IF JULYEAR% < 1 THEN_
  16.     JULYEAR% = 0:_
  17.     EXIT SUB
  18. IF JULYEAR% < 100 THEN _
  19.     JULYEAR% = JULYEAR% + 1900
  20. FOR I% = 1 TO 12
  21.     READ MON%(I%)
  22. NEXT I%
  23. DATA 31,28,31,30,31,30,31,31,30,31,30,31
  24. WORKYEAR% = JULYEAR% / 4
  25. WORKYEAR = JULYEAR% / 4
  26. IF WORKYEAR% = WORKYEAR THEN _
  27.     MON%(2) = MON%(2) + 1
  28. JULDAY% = VAL(CMD$(2))
  29. MONTH% = VAL(CMD$(1))
  30. IF JULDAY% < 1 OR JULDAY% > 31 OR MONTH% < 1 OR MONTH% > 12 THEN_
  31.     JULYEAR% = 0:_
  32.     JULDAY% = 0:_
  33.     EXIT SUB
  34. IF JULDAY% > MON%(MONTH%) THEN_
  35.     JULYEAR% = 0:_
  36.     JULDAY% = 0:_
  37.     EXIT SUB
  38. MONTH% = MONTH% - 1
  39. FOR I% = 1 TO MONTH%
  40.     JULDAY% = JULDAY% + MON%(I%)
  41. NEXT I%
  42. END SUB
  43.