Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2007
Avatar de flystar
flystar flystar is offline
Miembro
 
Registrado: jul 2006
Posts: 184
Poder: 18
flystar Va por buen camino
Unhappy Como sacar diferencia entre 2 fechas con Delphi 5?

Buenos Días:

Solicito Ayuda a alguna alma caritativa:

Requiero sacar la diferencia en tiempo entre dos variables de tipo datetime,
uso Delphi 5 y en esta version las siguientes funciones no existen
  • YearsBetween ,MonthsBetween ,WeeksBetween ,DaysBetween ,HoursBetween ,MinutesBetween ,SecondsBetween ,MilisecondsBetween
De hecho no existe ninguna funcion que saque directamente la diferencia entre dos variables de tipo tiempo o fecha.

ME gustaria saber si alguna persona me pueda informar si por aqui hay alguna rutina que me sirva para sacar la diferencia de tiempo o alguna orientacion que pueda servirme.
NO estoy seguro si restar directamente dos variables de tipo datetime da como resultado la diferencia, y si la da..no tengo idea de como extraer de ahi la diferencia de tiempo. No lo se. Alguna rutina? Muchas Gracias.
__________________

"Los unicos que no se equivocan son aquellos que no intentan hacer algo."
Iván Caballero Cano...
ivanhalen77@gmail.com
Responder Con Cita
  #2  
Antiguo 23-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Echa un vistazo a este mensaje del compañero Seoane. Y es que hay que usar más el buscador de los Foros.

He buscado por "restar fechas" y me han aparecido varios resultados, entre ellos el que te enlazo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 23-06-2007
Avatar de flystar
flystar flystar is offline
Miembro
 
Registrado: jul 2006
Posts: 184
Poder: 18
flystar Va por buen camino
Gracias David:

Si me tome "un poco" de tiempo para revisar los foros, no se por que la comunidad en Internet da por hecho que no buscaste si haces una pregunta, a la mejor si buscaste pero las respuestas no fueron las adecuadas a lo que buscas, y si mas no me equivoco casi todas hablan de usar funciones que solo existen en Delphi 6 en adelante y por eso fue que especifique que uso delphi 5.

De hecho en muchos foros y sobre todo de Linux existe un dogmatismo donde Ay de ti si se te ocurre preguntar algo por que casi te dan una patada, ya que casi cualquier cosa que preguntes ya habia sido dicha en quien sabe que mensaje. En fin

Aun asi hechare un vistaso Gracias.
__________________

"Los unicos que no se equivocan son aquellos que no intentan hacer algo."
Iván Caballero Cano...
ivanhalen77@gmail.com
Responder Con Cita
  #4  
Antiguo 23-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Aun asi hechare un vistaso Gracias.
Tenías que haberlo hecho antes de decir nada. Acaso buscaste, pero, no lo suficiente. El mensaje que te enlazo trata sobre cómo restar y sumar fechas sin necesidad de las funciones de la unidad "DateUtils", tal como pediste. Por si fuera poco en el mensaje se explica porqué puedes restar o sumar fechas "directamente", sin necesidad de utilizar funciones que no existen en la versión de Delphi con la que trabajas.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 23-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
bueno bueno, para que te no te sientas mal o regañado:

Delphi guarda las fechas como un numero real, la parte entera son los días y la decimal los minutos y segundos, de manera que para sacar la diferencia en dias, simplemente haces una resta común y corriente y con eso tienes.
Ahora bien, si quieres minutos o segundos puedes usar cualquiera de las rutinas que mencionas, todas hacen lo mismo con una fecha dada: la convierten a segundos, milisengundos, meses, etc.; lo que varía es el resultado.

Código Delphi [-]
 
var fecha1, fecha2: TDatetime;
  diferencia:integer;

begin
   diferencia:= fecha2-fecha1; // la diferencia en dias
end;
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #6  
Antiguo 23-06-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola flystar te parece justo que se tengan que responder a preguntas que son muy frecuentes

Para eso tenemos un lugar de búsqueda y una guía de estilos y si te fijas en el punto número 5 de la misma sabras el porque se contesta así.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 23-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código Delphi [-]
Function CalculaTiempo(FechaIni: TDateTime; FechaFin: TDatetime): String;
var
 Dias, {Meses,} Horas, Minutos{, Segundos}: integer;
 ValorFecha: real;
begin
  ValorFecha:=FechaFin-FechaIni;
  Dias:=Trunc(ValorFecha);
  //Meses:=Trunc((ValorFecha)/30.4);
  Horas:=Trunc(Frac(ValorFecha)*24);
  Minutos:=Trunc((Frac(Frac(ValorFecha)*24))*60);
  //Segundos:=Trunc((Frac((Frac(Frac(ValorFecha)*24))*60))*60);
  CalculaTiempo:=inttostr(Dias)+' Días, '+inttostr(Horas)+' Horas, '+inttostr(Minutos)+' Min.';
end;

Vaya, que cuando uno anda de buen humor...
__________________

Responder Con Cita
  #8  
Antiguo 17-05-2011
sancarlos sancarlos is offline
Miembro
 
Registrado: sep 2007
Ubicación: Cartago , Tres Rios , Costa Rica
Posts: 48
Poder: 0
sancarlos Va por buen camino
Unidad

Será ,que no has colocado al unidad en los USES, DateUtils


Suerte.
Responder Con Cita
  #9  
Antiguo 17-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por sancarlos Ver Mensaje
Será ,que no has colocado al unidad en los USES, DateUtils

Suerte.
Hola sancarlos.

Aunque el hilo tiene sus años, te comento que el problema se planteó precisamente por que la unit DateUtils no estaba disponible para la versión 5 de Delphi.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Diferencia entre Delphi emeritos Varios 1 18-11-2006 17:19:50
Diferencia en dias entre dos fechas. AMINOA2R Firebird e Interbase 2 15-12-2005 15:58:37
¿Alguien sabe de una función que devuelva la diferencia entre dos fechas? nuri Varios 8 21-07-2005 00:32:41
Calcular diferencia de años entre dos fechas bismarito Firebird e Interbase 2 23-08-2003 17:13:03
Diferencia entre fechas.... seb@ OOP 1 21-08-2003 15:57:22


La franja horaria es GMT +2. Ahora son las 07:53:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi