Dos procedimintos interesantes son gettime y getdate que se encuentras dentro de la unidad dos que debera estar presente dentro de uses cuando se quiera utilizar los procedimientos antes mencionados.
gettime, obtiene la hora del sistema (la que aparece en windows), por su parte getdate ¡adivinen!, obtiene la fecha del sistema, ambas tienen una sintaxis muy similar.
getdate(anio,mes,dia,dia_de_semana);
program fecha_y_hora;
begin
      case diasemana of
     write('Hoy es ',dias,' ',dia,'/',mes,'/',anio);
uses crt,dos;
var
    anio,mes,dia,diasemana,
    hora,minuto,segundo,centesima:word;
    dias:string;
clrscr;
      gettime(hora,minuto,segundo,centesima);
      getdate(anio,mes,dia,diasemana);
     
writeln('la hora actual es: ', hora,':',minuto,':',segundo,':',
centesima);
             0:dias:=Domingo;
             1:dias:=Lunes;
             2:dias:=Martes;
             3:dias:=Miercoles;
             4:dias:=Jueves;
             5:dias:=Viernes;
             6:dias:=Sabado;
         end;
readkey;
end.
Otros procedimientos interesantes son setdate y settime para cambiar la fecha y hora respectivamente, la sintaxis es practicamente igual a gettime y getdate.
settime(hora,minuto,segundo,centesima);
Las varibales que se pasan como parametros deben ser igualmente de tipo word
, en setdate, el sistema coloca automaticamente el dia de la semana, si se pasan como parametros fechas u horas incorrectas no se realizara ningun cambio.