Convert seconds to compound duration: Difference between revisions
Content added Content deleted
No edit summary |
No edit summary |
||
Line 454: | Line 454: | ||
</pre> |
</pre> |
||
=={{header|BASIC}}== |
|||
==={{header|Commodore BASIC}}=== |
|||
<lang commodorebasic>10 REM CONVERT SECONDS TO COMPOUND DURATION |
|||
20 REM ADAPTED FROM RUN BASIC VERSION |
|||
30 REM =============================================================== |
|||
40 PRINT CHR$(14) |
|||
50 SEC = 7259 |
|||
60 GOSUB 1000 |
|||
70 SEC = 85400 |
|||
80 GOSUB 1000 |
|||
90 SEC = 6000000 |
|||
100 GOSUB 1000 |
|||
110 END |
|||
120 REM ============================================================== |
|||
1000 WK = INT(SEC/60/60/24/7) |
|||
1010 DY = INT(SEC/60/60/24) - 7*WK |
|||
1020 HR = INT(SEC/60/60) - 24*(DY+7*WK) |
|||
1030 MN = INT(SEC/60) - 60*(HR+24*(DY+7*WK)) |
|||
1040 SC = SEC - 60*(MN+60*(HR+24*(DY+7*WK))) |
|||
1050 PRINT SEC;"SEC" : PRINT " ="; |
|||
1055 F = 0 |
|||
1060 IF WK = 0 THEN 1080 |
|||
1070 PRINT WK;"WK"; : F = 1 |
|||
1080 IF DY = 0 THEN 1110 |
|||
1090 IF F THEN PRINT ","; |
|||
1100 PRINT DY;"DY"; : F = 1 |
|||
1110 IF HR = 0 THEN 1140 |
|||
1120 IF F THEN PRINT ","; |
|||
1130 PRINT HR;"HR"; : F = 1 |
|||
1140 IF MN = 0 THEN 1170 |
|||
1150 IF F THEN PRINT ","; |
|||
1160 PRINT MN;"MIN"; : F = 1 |
|||
1170 IF (SC > 0) AND F THEN PRINT ",";SC;"SEC" : GOTO 1200 |
|||
1180 IF (SC = 0) AND F THEN 1200 |
|||
1190 PRINT SC;"SEC" |
|||
1200 PRINT |
|||
1210 RETURN</lang> |
|||
{{out}} |
|||
7259 sec |
|||
= 2 hr, 59 sec |
|||
85400 sec |
|||
= 23 hr, 43 min, 20 sec |
|||
6000000 sec |
|||
= 9 wk, 6 dy, 10 hr, 40 min |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |
||
<lang bbcbasic>REM >compduration |
<lang bbcbasic>REM >compduration |