unit tijdreken;

interface
procedure addtime (uur1,min1,duur,dmin :smallint;var uur2,min2:smallint);
procedure attime (guur,gmin: smallint; var atuur,atmin: smallint);
procedure at_gmttime (atuur,atmin : smallint; var guur,gmin : smallint);
implementation
procedure addtime (uur1,min1,duur,dmin :smallint;var uur2,min2:smallint);
begin
  uur2:=uur1+(duur mod 24);
  uur2:=uur2 mod 24;
  while (uur2<0) do uur2:=uur2 + 24;
  min2:=min1+(dmin mod 60);
  min2:=min2 mod 60;
  while (min2<0) do min2:=min2+60;
end;

procedure attime (guur,gmin: smallint; var atuur,atmin:smallint);
begin
  atuur:=(guur*3)+(gmin div 20); {On GMT-basis}
  atuur:=atuur-36;               {At 180 graden diverence is 36 at-uren}
  while (atuur<0) do atuur:=atuur+72;
  atmin:=(gmin mod 20);
end;

procedure at_gmttime (atuur,atmin : smallint; var guur,gmin : smallint);
begin
  guur:=atuur div 3;
  gmin:=atmin + 20*(atuur mod 3);
  guur:=(guur+12) mod 24;       { GMT time is twelf hours later then}
end;                            { date-border }

begin
end.
