-
Notifications
You must be signed in to change notification settings - Fork 0
/
make-time-table.bas
55 lines (48 loc) · 1.13 KB
/
make-time-table.bas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
5 REM Load the Time Zones. The first READ gets the numberof times zones.
6 REM Then, it's TZ-NAME, OFFSET
10 DIM TZ$(10,2)
15 READ C
20 FOR I=1 TO C
30 READ TZ$(I,1),TZ$(I,2)
40 NEXT I
100 PRINT "UTC";
120 FOR I=1 TO C
130 PRINT CHR$(9);TZ$(I,1);
140 NEXT I
150 PRINT ""
200 FOR I=0 TO 23
210 T=I
220 GOSUB 2000
225 PRINT CHR$(9);
230 FOR P=1 TO C
240 T=I+VAL(TZ$(P,2))
260 IF VAL(TZ$(P,2))=INT(VAL(TZ$(P,2))) THEN GOSUB 2000
270 IF VAL(TZ$(P,2))<>INT(VAL(TZ$(P,2))) THEN GOSUB 2200
290 PRINT CHR$(9);
300 NEXT P
390 PRINT ""
400 NEXT I
900 END
999 REM Time Zone Data
1000 DATA 6
1010 DATA "EST","-5"
1020 DATA "EDT","-4"
1030 DATA "CST","-6
1040 DATA "CDT","-4"
1050 DATA "IST","5.5"
1060 DATA "PHT","8"
2000 REM Subroutine for time fixing (Not India)
2010 IF T>24 THEN T=T-24
2020 IF T<0 THEN T=24+T
2050 IF T<10 THEN PRINT "0";RIGHT$(STR$(T),1);
2060 IF T>=10 THEN PRINT RIGHT$(STR$(T),2);
2070 PRINT ":00";
2080 RETURN
2200 REM Subroutine for time fixing (India)
2210 T=INT(T)
2220 IF T>24 THEN T=T-24
2230 IF T<0 THEN T=24+T
2240 IF T<10 THEN PRINT "0";RIGHT$(STR$(T),1);
2250 IF T>=10 THEN PRINT RIGHT$(STR$(T),2);
2260 PRINT ":30";
3000 RETURN