Pregunta: | 36240 - RESTAR Y SUMAR HORAS EN DELPHI |
Autor: | CESAR GUISEPPE CARRION BELDI |
Alguien me pudiera ayudar en esto
ejemplo : 10:51:45 + 1:00:00 = 11:51:45 y restando tambien les agradeceria un monton . |
Respuesta: | Rober |
Tienes la funcion IncHour, donde le pasas la fecha y los minutos que quieres sumar, o restar si el segundo parametro se lo pasas en negativo.
Edit1.Text := DateTimeToStr(Now, 1); // Suma una hora a la hora actual Edit1.Text := DateTimeToStr(Now, -1); // Resta una hora a la hora actual Tambien esta la funcion IncYear, IncMonth......y alguna otra mas de este tipo |
Respuesta: | emanuel aguilar salas |
hola cesar, con respecto a tu codigo para sumar o restar una hora tengo este...
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := TimeToStr(Time); Edit2.Text := TimeToStr(Time + 24/24 + 60/1440); // suma Edit2.Text := TimeToStr(Time + 24/24 + 60/1440); // resta Edit2.Text := TimeToStr(Time + 24/24 - 60/1440); end; Lo unico que tenes que hacer es cambiar el signo (+) o (-) y asi resta o suma una hora Otra cosa, configura en 24 hs el reloj de windows asi no tengas problemas. bye espero que te sirva |
Respuesta: | Hugo OH |
Hola cesar,
Como sabras, la clase que utiliza delphi para manejar fechas y horas es TDateTime... se trata de un numero flotante en el que la parte entera corresponde a la fecha y la fraccionaria a la hora... de esta manera, si al valor de una hora X le quieres agregar seis horas tenemos que 6 horas equivalen a una cuarta parte, por lo tanto a ese valor X habra que sumarle 0.25... o restarle... por ejemplo, el siguiente codigo coloca en un Edit la hora actual y en otro Edit esa misa hora mas 1 hora (1/24 de un día) y 30 minutos... si quisieras trabajar con horas y minutos tendrias que utilizar h/24+m/1440 ... y asi sucesivamente... Edit1.Text := TimeToStr(Time); Edit2.Text := TimeToStr(Time + 1/24 + 30/1440); saludos y espero te sirva... puedes revisar la ayuda del TDateTime type para mas detalles... EOF |