home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / TARCHIV.ZIP / TIME2SEC.PAS < prev    next >
Pascal/Delphi Source File  |  1995-01-27  |  1KB  |  61 lines

  1. Program Test;
  2.  
  3. Uses DOS;
  4.  
  5. Function Date2Sec (Year, Month, Day, Hour, Minute, Second : Word) : Longint;
  6. Var
  7.   M,D,Y,C,YA,J,Seconds : Longint;
  8. Begin
  9.  Seconds := Hour*3600+Minute*60+Second;
  10.  Y := Year;
  11.  M := Month;
  12.  D := Day;
  13.  If (M>2) Then DEC (M,3) Else Begin INC(M,9); DEC(Y); End;
  14.  C := Y DIV 100;
  15.  YA := Y-(100*C);
  16.  J := (146097*C) DIV 4 + (1461*YA) DIV 4 + (153*M + 2) DIV 5 + D + 1721119;
  17.  If Seconds<12*3600 Then Begin
  18.   DEC(J);
  19.   INC(Seconds,12*3600);
  20.  End Else
  21.   DEC(Seconds,12*3600);
  22.  Date2Sec := (J*3600)*24+Seconds;
  23. End;
  24.  
  25. Function Time2Sec : Longint;
  26. Var
  27.  A,B,C,D,E,F,G,H : Word;
  28. Begin
  29.  GetTime (A,B,C,D);
  30.  GetDate (E,F,G,H);
  31.  Time2Sec := Date2Sec (E,F,G,A,B,C);
  32. End;
  33.  
  34. { Procuce 10 char - octal string from integer }
  35. Function  OctalStr (X:Longint) : String;
  36. Var
  37.  D  : Longint;
  38.  S  : String[10];
  39.  L  : Byte;
  40. Begin
  41.  D := X;
  42.  { Convert to octal }
  43.  S[0] := #10;
  44.  For L := 10 DownTo 1 Do Begin
  45.   S[L] := Chr(48+(D AND 7));
  46.   D := D SHR 3;
  47.  End;
  48.  { Remove leading zeros }
  49.  L := 1;
  50.  While (S[L]='0') AND (L<11) Do Begin
  51.   S[L] := ' ';
  52.   INC(L);
  53.  End;
  54.   OctalStr := S;
  55. End;
  56.  
  57. Begin
  58.  Writeln (OctalStr(Time2Sec-Date2Sec(1970,1,1,0,0,0)));
  59.  Readln;
  60. End.
  61.