Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   convertir entero a fecha (https://www.clubdelphi.com/foros/showthread.php?t=59732)

vroa74 05-09-2008 22:16:43

convertir entero a fecha
 
tengo en una base de datos un campo de 6 numeros el cual es una fecha
aammdd. fecha =750121
y tengo que obligatoriamente comvertirlo en un campo fecha

mi idea es de entero cambiarlo a string
al string darle forma aa/mm/dd por que solo cuento 2 digitos para el año.
y de string pasarlo a fecha y subirlo a un campo de tipo date.
mas tengo problemas al pasarlo de var a data

alguien puede ayudarme
Código Delphi [-]
var
    i : integer;
    d : tDateTime;
    v,auxv : string;
    j: Integer;
begin
auxv :='';
i := Mytable1.FieldByName('FECHA_NACI_CLAVE_ELECTORAL').AsInteger;
d := Mytable1.FieldByName('Fecha_nac').AsDateTime;
  v:= inttostr(i);
  auxv := auxv + v[1];
  auxv := auxv + v[2];
  auxv := auxv + '/';
  auxv := auxv + v[3];
  auxv := auxv + v[4];
  auxv := auxv + '/';
  auxv := auxv + v[5];
  auxv := auxv + v[6];
   v:= auxv;

 d := strtodate(v);
Edit1.Text := inttostr(i);
Edit2.Text := datetostr(d);

egostar 05-09-2008 22:23:20

Cita:

Empezado por vroa74 (Mensaje 312216)
tengo en una base de datos un campo de 8 numeros el cual es una fecha
aammdd.
y tengo que obligatoriamente comvertirlo en un campo fecha

mi idea es de enterocambiarlo a string
al string darle forma aa/mm/dd por que solo cuento 2 digitos para el año.
y de string pasarlo a fecha y subirlo a un campo de tipo date.
mas tengo problemas al pasarlo de var a data

alguien puede ayudarme

Hola,

El tipo de dato en la base es ENTERO?????, me parece que no, me imagino que es un string de 8 posiciones, ademas de que el formato que pones es de 6 ??????

Coloca el código que estas usando para saber exactamente cual es tu problema.

Salud OS

egostar 05-09-2008 22:54:31

Hola

Creo que por ahi tienes un grave error

En tu ejemplo, no hay mucho problema

pero que pasa en el año 2000 ????? un entero no te pondria 001212

Salud OS

felipe88 05-09-2008 22:54:36

Hola, añadiendo a lo del string podrias usar la funcion Copy o alguna que maneje los caracteres.

felipe88 05-09-2008 22:56:42

Cita:

Empezado por egostar (Mensaje 312233)
Hola

Creo que por ahi tienes un grave error

En tu ejemplo, no hay mucho problema

pero que pasa en el año 2000 ?????

Salud OS

No necesariamente, a no ser que necesite el año mil o el tres mil :rolleyes:, seria como 00 = 2000 de ahi en adelante solo seria 01 = 2001 etc...

egostar 05-09-2008 22:59:10

Cita:

Empezado por felipe88 (Mensaje 312237)
No necesariamente, a no ser que necesite el año mil o el tres mil :rolleyes:, seria como 00 = 2000 de ahi en adelante solo seria 01 = 2001 etc...

F5 amigo, F5, para que veas el porque de mi cuestionamiento :)

Salud OS

felipe88 05-09-2008 23:02:07

Cita:

Empezado por egostar (Mensaje 312240)
F5 amigo, F5, para que veas el porque de mi cuestionamiento :)

Salud OS

:D:D... si tienes razon, entonces tendria que cambiar el formato por dd/mm/aa.

vroa74 07-09-2008 02:40:04

Como cambio de aa/mm/dd a dd/mm/aa ???
cuan es el codigo para cambiar el formato o cual es el codigo para cambiar de un formato a otro. ?????????????

felipe88 08-09-2008 15:13:53

Cita:

Empezado por vroa74 (Mensaje 312274)
Como cambio de aa/mm/dd a dd/mm/aa ???
cuan es el codigo para cambiar el formato o cual es el codigo para cambiar de un formato a otro. ?????????????

Hola, como preguntaba egostar, ¿el campo es entero? porque no creo que funcione con el ejemplo que el da... si es string, si será más fácil, no recuerdo bien pero creo que el FormatDateTime puede ayudarte a cambiar el formato por dd/mm/aa.


La franja horaria es GMT +2. Ahora son las 13:06:04.

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