Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-05-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
Diferencia 2 Dias entre Tdatetime (delphi) y Datetime (SQL server)

Buen Día Foro

Apelo a la experiencia de la comunidad.

Resulta, pues, que cargo un archivo de excel con una serie de datos, entre ellos viene una columna fecha, la cual para comodidad deje el formato configurable, esto es lo pueden subir '2007/05/08' o '08/05/2007', y en la conflagración del sistemita le pido al usuario que formato utiliza, bueno al grano, armo la fecha con:

Código Delphi [-]
date:=encodedate(strtoint(copy(fechastr,1,4)),strtoint(copy(fechastr,6,2)),strtoint(copy(fechastr,9,  2)))


para el caso del formato '2007/05/08'

y resulta que me da un valor de 39210, cuando debería de ser 39208, y por que debería ser 39208 me preguntaran, pues el valor lo guardo en una tabla sql y ahí me guarda '2007/05/10', tiro la consulta:
Código SQL [-]
select cast(39210 as datetime)

y me regresa '2007/05/10'

algún consejo sobre que debo revisar, alguien que le haya pasado algo similar???

Última edición por sinalocarlos fecha: 09-05-2007 a las 04:20:44. Razón: Edito para evitar un Casimirazo (3 errores de ortografía)
Responder Con Cita
  #2  
Antiguo 09-05-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola sinocarlos

Pues si que está raro, el problema creo yo esta en la instrucción CAST, porque Delphi toma bien los valores.

Hice estas dos pruebas y efectivamente, '2007/05/08' nos da 39210.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  fechastr: String;
  date: TDateTime;
begin
  fechastr := '2007/05/08';
  date := encodedate(strtoint(copy(fechastr,1,4)),
          strtoint(copy(fechastr,6,2)),
          strtoint(copy(fechastr,9, 2)));
  ShowMessage(FloattoStr(Date)+'-->'+DatetoStr(date));
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  ShowMessage(DatetoStr(39210));
end;


Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 10-05-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
saludos egostar

Disculpas por no contestar antes pero tengo trabajo hasta para repartir.

Pues si, el problema es que SQL server o al menos el mio (SQL Server 2000 SP3 en Ingles con el Collate SQL_Latin1_General_CP1_CI_AS por default), tiene como fecha para el 0 a '1900-01-01 00:00:00.000'
Código SQL [-]
select cast (0 as datetime)

y Delphi (Borland Developer Studio 2006 ) toma el 0 como 1899/12/30
Código Delphi [-]
ShowMessage(DatetoStr(0));


Me sambullire en los chm y mantengo infomada a la comunidad de lo que encuentre
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
Diferencia Entre Versions De Delphi Cambiando Debates 1 07-03-2007 08:17:37
Diferencia entre Delphi emeritos Varios 1 18-11-2006 18:19:50
Diferencia Entre Delphi 2006 Y Sus Predecesores... Ingeniero Noticias 14 12-04-2006 15:09:37
Diferencia en dias entre dos fechas. AMINOA2R Firebird e Interbase 2 15-12-2005 16:58:37
Numero de dias entre fechas (TDateTime) sierraja Varios 4 26-04-2005 19:29:02


La franja horaria es GMT +2. Ahora son las 15:30:15.


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