home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / DAYS.ZIP / DAYS.BAS
Encoding:
BASIC Source File  |  1988-05-21  |  1.2 KB  |  40 lines

  1. 10 CLS : KEY OFF : PRINT "Days between two dates  M, D, Y  (06,22,1984):"
  2. 20 PRINT "First Date?"
  3. 30 INPUT M1,D1,Y1
  4. 40 PRINT "Second Date?"
  5. 50 INPUT M2,D2,Y2
  6. 60 Y=Y1 : M=M1 : D=D1 : GOSUB 140
  7. 70 N=A : Y=Y2 : D=D2 : M=M2 : GOSUB 140
  8. 80 N=A-N : PRINT "Difference = ";N;"days." : :
  9. 90 INPUT "Do you want a printout ";Y$
  10. 100 IF Y$="Y" OR Y$="y" THEN GOSUB 360
  11. 110 INPUT "More data (Y/N)";D$
  12. 120 IF D$="y" OR D$ ="Y" THEN 10
  13. 130 CLS:SYSTEM
  14. 140 ON M GOTO 170,190,170, 250,170,250,170,170,250,170,250,170
  15. 150 PRINT "Unreal Date!!!"
  16. 160 RETURN
  17. 170 IF D>31 THEN 150
  18. 180 GOTO 260
  19. 190 IF Y/4<> INT(Y/4) THEN 220
  20. 200 IF Y/400 = INT(Y/400) THEN 230
  21. 210 IF Y/100<> INT(Y/100) THEN 230
  22. 220 IF D>28 THEN 150
  23. 230 IF D>29 THEN 150
  24. 240 GOTO 260
  25. 250 IF D>30 THEN 150
  26. 260 DATA 0,31,59,90,120,151,181,212,243,273,304,334
  27. 270 RESTORE
  28. 280 FOR H=1 TO M : READ A : NEXT H
  29. 290 A=A+Y*365+INT(Y/4)+D+1-INT(Y/100)+INT(Y/400)
  30. 300 IF INT(Y/4)<>Y/4 THEN 350
  31. 310 IF Y/400=INT(Y/400) THEN 330
  32. 320 IF Y/100=INT(Y/100) THEN 350
  33. 330 IF M>2 THEN 350
  34. 340 A=A-1
  35. 350 RETURN
  36. 360 LPRINT "First Date:   ";M1;"/";D1;"/";Y1 : :
  37. 370 LPRINT "Second Date: ";M2;"/";D2;"/";Y2 : :
  38. 380 LPRINT "Number od days between dates is: ";N
  39. 390 RETURN
  40.