Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-02-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Yo te recomendaría pasar los strings a un TDateTime y utilizar la función SecondsBetween .

PD: Es importante tener la premisa que para trabajar con fechas lo mejor es que estas sean fechas y no cadenas!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #2  
Antiguo 28-02-2007
Avatar de acertij022
acertij022 acertij022 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina-Bs. As.
Posts: 233
Poder: 24
acertij022 Va por buen camino
tenes razón pero lo veo algo engorroso porque no se como estara el formato en la Pc del cliente y esta funcion se basa en el formato de Windows, igualmente gracias
Responder Con Cita
  #3  
Antiguo 02-03-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por delphi.com.ar
Yo te recomendaría pasar los strings a un TDateTime y utilizar la función SecondsBetween .

PD: Es importante tener la premisa que para trabajar con fechas lo mejor es que estas sean fechas y no cadenas!
Hola, yo estoy totalmente de acuerdo contigo.

Cita:
Empezado por acertij022
Lamentablemente no es la socucion supon que hay que calcular la diferncia entre:

20070302000001
20070301235959

Igualmente muchas gracias
Lo que yo creo es que tu problema es que no sabes como 'pasar' de un string a un DateTime, aqui te pongo un ejemplo de como hacerlo.

Código Delphi [-]
// Requieres la Unit DateUtils

var
  Inicial,Final: String;
  FInicial,FFinal: TDateTime;
  Duracion: Int64;

:::::::::

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Inicial  := '20070301235946';
  Final    := '20070302000006';

  //Aqui se convierte tu string a TDateTime
  FInicial := StrtoDateTime(Copy(Inicial,7,2)+'/'+
                            Copy(Inicial,5,2)+'/'+
                            Copy(Inicial,1,4)+' '+
                            Copy(Inicial,9,2)+':'+
                            Copy(Inicial,11,2)+':'+
                            Copy(Inicial,13,2));
  FFinal   := StrtoDateTime(Copy(Final,7,2)+'/'+
                            Copy(Final,5,2)+'/'+
                            Copy(Final,1,4)+' '+
                            Copy(Final,9,2)+':'+
                            Copy(Final,11,2)+':'+
                            Copy(Final,13,2));

  Duracion := SecondsBetween(FFinal,FInicial);

  Label1.Caption := DateTimetoStr(FInicial);
  Label2.Caption := DateTimetoStr(FFinal);
  Label3.Caption := InttoStr(Duracion);
end;

Esto puede no ser lo mejor ni muy elegante pero funciona, estuve usando diferentes variables y en algunos casos hay una diferencia de 1 segundo, quizas por cuestiones de redondeo, no se.

Saludos y espero te ayude.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 03-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cita:
Empezado por egostar
en algunos casos hay una diferencia de 1 segundo, quizas por cuestiones de redondeo, no se.
No has tenido en cuenta los milisegundos de un formato TDateTime, casi seguro que viene por ahí el fallito.

Formato de fecha y hora: 23/01/2007 23:59:59.999 (falta 1 milisegundo para que desencadene el cambio de fecha).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Resta de horas didier Varios 24 18-11-2010 23:11:54
REsta Fechas Juanito-Kun Firebird e Interbase 2 11-10-2005 20:52:23
Resta equivocada... jhonny Varios 6 26-09-2005 18:43:20
Resta de Tablas con SQL agova SQL 8 24-11-2003 21:20:25
Dias entre una fecha y la fecha del sistema afarenas Firebird e Interbase 1 30-09-2003 17:36:53


La franja horaria es GMT +2. Ahora son las 18:48:06.


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