¿cómo sacar la duración entre dos horas?, por ejemplo, desde las 5:00 pm hasta las 8:00 pm son 3 horas, ¿cómo lo hago en delphi?.
Fleon xD.

[RESUELTO] Calcular el tiempo entre dos horas
Comenzado por
Fleon
, mar 14 2010 02:28
6 respuestas en este tema
#1
Escrito 14 marzo 2010 - 02:28
#2
Escrito 14 marzo 2010 - 02:54
Agrega en el uses la unidad DateUtils y usa la función HoursBetween
Saludos
Saludos
#3
Escrito 14 marzo 2010 - 03:00
O puedes restar directamente:
Y si solo quieres las horas enteras:
delphi
var h1, h2: TDateTime; begin h1:= StrToTime('05:00 pm'); h2:= StrToTime('08:00 pm'); ShowMessage(TimeToStr(h2-h1)); end;
Y si solo quieres las horas enteras:
delphi
var h1, h2: TDateTime; begin h1:= StrToTime('05:00 pm'); h2:= StrToTime('08:00 pm'); ShowMessage(IntToStr(Trunc((h2-h1)*24))); end;
#4
Escrito 14 marzo 2010 - 03:16
Hola, gracias a ambos, axesys, esa sólo me devuelve un número entero, seoane la primera no me calcula el tiempo transcurrido entre dos horas me muestra como una hora cualquier ( 12:00:00 am) y la segunda sólo me muestra los enteros, lo que necesito es que me muestre, por ejemplo entre dos horas cualquiera algo como 7:31 horas transcurridos.
Fleon xD
Fleon xD
#5
Escrito 14 marzo 2010 - 03:39
usando dateutils como dice axexys
puse dos edits, un memo y un boton para que puedas probar.
no se de donde obtienes los valores, pero si ya son tipo time no tienes que hacer la conversion y es mas facil todavia.
por cierto las variables equivalen a hora, minutos, segundos, milisegundos.
delphi
procedure TForm1.btn1Click(Sender: TObject); var h,m,s,ml:word; begin DecodeTime(strtotime(Edit2.text)-(StrToTime(edit1.text)), H, M, S,ml); mmo1.lines.add(IntToStr(h)); mmo1.lines.add(IntToStr(m)); mmo1.lines.add(IntToStr(s)); //mmo1.lines.add(IntToStr(ml)); end;
puse dos edits, un memo y un boton para que puedas probar.
no se de donde obtienes los valores, pero si ya son tipo time no tienes que hacer la conversion y es mas facil todavia.
por cierto las variables equivalen a hora, minutos, segundos, milisegundos.
#6
Escrito 14 marzo 2010 - 03:46
Hola
Saludos
delphi
var hora: TDateTime; begin Hora:= StrToTime(Edit2.Text)- StrToTime(Edit1.Text); Edit3.Text:= FormatDateTime('hh:mm',Hora)+' Hora de Diferencia'; end;
Saludos
#7
Escrito 14 marzo 2010 - 03:53
Hola, el de Caral me funciona de perlas, gracias a todos.
Fleon xD
Fleon xD