Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convertir la fecha 2009-12-31 a su equivalente en entero en delphi (https://www.clubdelphi.com/foros/showthread.php?t=54161)

richy08 10-03-2008 23:16:24

Convertir la fecha 2009-12-31 a su equivalente en entero en delphi
 
buenos dias compañeros existe una funcion o alguna forma de convertir en delhpi cualquier fecha en este formato ejemplo 2008-12-31 asu equivalente en entero por ejemplo 30256 (no se si esa es la conversion de la fecha que puse anteriormente gracias por cualquier comentario)

cHackAll 10-03-2008 23:18:14

Código Delphi [-]
 ShowMessage(IntToStr(Trunc(Now)));

richy08 10-03-2008 23:21:19

gracias chack all por contestar estas seguro que eso funciona
ShowMessage(IntToStr(Trunc(Now)));

cHackAll 10-03-2008 23:26:32

Cita:

Empezado por richy08 (Mensaje 272148)
gracias chack all por contestar estas seguro que eso funciona

Estas tú seguro de poder probarlo por ti mismo?

:eek:

Pues si no estuviese seguro no lo pondria amigo, pero de todas formas quedas con tres opciones; la primera es desecharlo y pedir ayuda de alguien que esté más seguro que ambos, la segunda es realizar una busqueda y la tercera es verificar por ti mismo si dicha linea hace lo que pides.

richy08 10-03-2008 23:28:26

ok amigo no quiso ofenderte mira lo que pasa que ya lo probe y me dice que no son compatibles el tipo de dato entero y el cadena :confused: tal ves no me explique bien va de nuevo

Qry_inserta.FieldByName('dArrivaldate').AsDateTime:=(IntToStr(Trunc(Ahora)));

es una variable tdatatime que la aumento dias con un proceso y se lo asigno a un query como parametro

cHackAll 10-03-2008 23:39:11

Ok, no entiendo para que quieres convertirlo a un valor entero si en la BD estas usando un DateTime;
Qry_inserta.FieldByName('dArrivaldate').AsDateTime := IntToStr(Trunc(Ahora));

Esto obviamente no funciona puesto que seguramente tu tabla ha sido creada con el campo dArrivaldate como DateTime, y tu lo estas definiendo hacia un .AsDateTime. (lo que esta bien, pero es un campo DateTime)

Si dicho campo fuese un int, una solucion sería;

Código Delphi [-]
Qry_inserta.FieldByName('dwArrivalDay').AsInteger := IntToStr(Trunc(Now));

Saludos.

richy08 10-03-2008 23:41:26

es que l oque pasa como en un proceso un poco largo se esta tardando bastante y segun el database engine tuningn advisor me marca un error por que en ves de pasarlo como entero lo esta pasando como cadena pero ya lo estoy corriendo de nuevo y cre oque la conversion la esta haciendo el mismo delphi hay empiezo a crer que el sql 2005 server es una reverenda porqueria:(

jangel_ramirezm 11-03-2008 17:57:09

hola porque no pruebas así

Código Delphi [-]
qry_inserta.fieldbyname('Darrivaldate').asDateTime:=trunc(Ahora);




con eso bastará ya que como las fechas son números esto te regresará el valor en formato fecha a tu Bd

Código Delphi [-]
inttostr(trunc(now));




te sirve solo si tu campo es de tipo varchar,char o text ya que le estas diciendo convierte de fecha a cadena
Saludos. ojalá haya comprendido tu pregunta

richy08 11-03-2008 18:04:34

gracias jangel pero no mi campo es datetime :confused: pero creo que la demora de la aplicacion se debe a la auditoria que hace el apexsql sobre la base de datos y he estado leyendo que segun es minima pues deberian de ver mi aplicacion a vaer si a eos le llaman minina :D jeje estoy viendo como eshabilitar esa gloriosa auditria de todos modos mil gracias por tu tiempo

jangel_ramirezm 11-03-2008 18:11:43

sale, para ayudarnos estamos
que estes bien


La franja horaria es GMT +2. Ahora son las 23:21:36.

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