3230  REM **** CALENDAR STARTS HERE ****
3240  IF  ERROR  THEN 1940
3250  DATA 0,31,60,91,121,152,182,213,244,274,305,335,366,999
3260  DATA 0,31,59,90,120,151,181,212,243,273,304,334,365,999
3270  S=TIM(0)
3280  H=TIM(1)
3290  D=TIM(2)
3300  Y=TIM(3)
3310  G$="0123456789000000000000000"
3320  H0$="  -  -     :   AM"
3330  Q=H
3340  IF (H*100+S)<1200 THEN 3380
3350  H0$[16,17]="PM"
3360  IF H<13 THEN 3380
3370  Q=H-12
3380  GOSUB 3650
3390  H0$[10,11]=H$
3400  Q=S
3410  GOSUB 3650
3420  H0$[13,14]=H$
3430  IF Y/4=INT(Y/4) THEN 3630
3440  RESTORE 3260
3450  MAT  READ A
3460  FOR I=1 TO 14
3470  IF D>A[I] THEN 3620
3480  IF I<14 THEN 3520
3490  D=D-A[13]
3500  Y=Y+1
3510  GOTO 3330
3520  Q=I-1
3530  GOSUB 3650
3540  H0$[1,2]=H$
3550  Q=D-A[I-1]
3560  GOSUB 3650
3570  H0$[4,5]=H$
3580  Q=Y
3590  GOSUB 3650
3600  H0$[7,8]=H$
3610  RETURN 
3620  NEXT I
3630  RESTORE 3250
3640  GOTO 3450
3650  REM NUMBER-TO-STRING
3660  N=INT(Q/10)
3670  H$[1,1]=G$[N+1,N+1]
3680  N=Q-N*10
3690  H$[2,2]=G$[N+1,N+1]
3700  RETURN 
3710  END 
