home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / murutil / dattim.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-11-27  |  2.0 KB  |  88 lines

  1. PROGRAM DATTIM;
  2.  
  3. {$N-  Don't use the numeric coprocessor.}
  4.  
  5. {  This program displays the current date and time.
  6.  
  7.    Updated for Turbo Pascal Version 4.0 by H.M.M., 24 Nov 1987.  }
  8.  
  9. USES
  10.   CRT, DOS;
  11.  
  12. TYPE
  13.   DATESTRING = STRING[28];
  14.   TIMESTRING = STRING[6];
  15.  
  16. VAR
  17.   CLOCK: TIMESTRING;
  18.   TODAY: DATESTRING;
  19.  
  20. { -------------------------------- }
  21.  
  22. FUNCTION DATE: STRING;
  23.  
  24. {  This function returns today's date as a string of up to 28 bytes,
  25.    such as:  "Friday, 27 November 1987".
  26.  
  27.    Turbo Pascal V4.0 function by Harry M. Murphy,  27 November 1987. }
  28.  
  29.  CONST
  30.        MONTH : ARRAY [1..12] OF STRING[9] = ('January','February',
  31.        'March','April','May','June','July','August','September',
  32.        'October','November','December');
  33.  
  34.        WKDAY : ARRAY [0..6] OF STRING[9] = ('Sunday','Monday',
  35.        'Tuesday','Wednesday','Thursday','Friday','Saturday');
  36.  
  37.   VAR
  38.       ID,IM,IW,IY,JC,JD,JM,JY: WORD;
  39.       DAY  : STRING[2];
  40.       YEAR : STRING[4];
  41.  
  42.   BEGIN
  43.     GETDATE(IY,IM,ID,IW);
  44.     JY := IY;
  45.     JM := IM-2;
  46.     IF JM < 1
  47.       THEN
  48.         BEGIN
  49.           JM := JM+12;
  50.           JY := JY-1
  51.         END;
  52.     JC := JY DIV 100;
  53.     JD := JY-100*JC;
  54.     IW := ((ID+42+(13*JM-1) DIV 5 +JD+JD DIV 4+JC DIV 4-2*JC) MOD 7);
  55.     STR(ID:2,DAY);
  56.     STR(IY:4,YEAR);
  57.     DATE := WKDAY[IW]+', '+DAY+' '+MONTH[IM]+' '+YEAR
  58.   END { Function DATE };
  59.  
  60. { -------------------------------- }
  61.  
  62. FUNCTION TIME: STRING;
  63.  
  64. {  This Turbo Pascal (Version 4.0) function returns the current clock
  65.    time as a string of 6 bytes, such as:  "19:05h".
  66.  
  67.    Turbo Pascal V4.0 function by Harry M. Murphy,  27 November 1987. }
  68.  
  69.   VAR
  70.       H,M,S,T : WORD;
  71.       HR,MN   : STRING[2];
  72.  
  73.   BEGIN
  74.     GETTIME(H,M,S,T);
  75.     STR(H:2,HR);
  76.     STR(M:2,MN);
  77.     IF MN[1] = ' ' THEN MN[1] := '0';
  78.     TIME := HR+':'+MN+'h'
  79.   END { Function TIME };
  80.  
  81. { -------------------------------- }
  82.  
  83. BEGIN  { Program DATTIME }
  84.   CLOCK:=TIME;
  85.   TODAY:=DATE;
  86.   WRITELN(CLOCK,',  ',TODAY)
  87. END.
  88.