Days between dates: Difference between revisions

Add Commodore BASIC
(Added 11l)
(Add Commodore BASIC)
Line 650:
07267
07267</pre>
 
 
=={{header|Commodore BASIC}}==
<lang GWBasic>
100 REM ===============================
110 REM DAYS BETWEEN 2 DATES
120 REM
130 REM CONVERT FROM TEXT TO PRG
140 REM USING C64LIST.EXE V3.5
150 REM COMMAND LINE UTILITY ON WINDOWS
160 REM
170 REM V1, 2021-10-09, ALVALONGO
180 REM ===============================
190 REM
200 REM INSPIRED BY THE PYTHON VERSION
210 REM OF THE ALGORITHM
220 REM AND THE DISCUSSION AT
230 REM HTTPS://STACKOVERFLOW.COM/QUESTIONS/12862226
240 REM /THE-IMPLEMENTATION-OF-CALCULATING-THE-NUMBER-OF-DAYS-BETWEEN-2-DATES
250 REM ===============================
260 :
1000 REM INIT ============================
1010 PRINT CHR$(147);:REM CLEAR SCREEN
1020 PRINT CHR$(5);:REM INK WHITE COLOR
1030 POKE 53280,3:REM BORDER COLOR CYAN
1040 POKE 53281,14:REM BACKGROUND COLOR BLUE
1050 :
1100 REM MAIN ==========================
1110 PRINT " DAYS BETWEEN 2 DATES"
1120 PRINT
1130 INPUT "FIRST DATE, YEAR";Y1
1140 INPUT "MONTH=";M1
1150 INPUT "DAY =";D1
1160 INPUT "SECOND DATE, YEAR";Y2
1170 INPUT "MONTH=";M2
1180 INPUT "DAY =";D2
1190 Y=Y1:M=M1:D=D1:GOSUB 9000:G1=G
1200 Y=Y2:M=M2:D=D2:GOSUB 9000:G2=G
1210 DI=ABS(G2-G1)
1220 PRINT "DAYS=";DI
1230 GET K$:IF K$="" THEN 1230
1240 PRINT
1250 GOTO 1120
1260 END
1270 :
9000 REM GREGORIAN ======================
9010 REM TRANSFORM A DATE INTO A DAY NUMBER IN THE GREGORIAN CALENDAR
9020 REM INPUT PARAMETERS: Y IS YEAR
9030 REM M IS MONTH
9040 REM D IS DAY
9050 N=(M+9)-INT((M+9)/12)*12
9060 W=Y-INT(N/10)
9070 G=365*W+INT(W/4)-INT(W/100)+INT(W/400)
9080 G=G+INT((N*306+5)/10)+(D-1)
9090 RETURN
</lang>
 
 
 
 
 
=={{header|D}}==
Anonymous user