Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Conversion de String a fecha (https://www.clubdelphi.com/foros/showthread.php?t=50168)

pmtzg 09-11-2007 22:52:33

Conversion de String a fecha
 
mi pregunta es la siguiente

si tengo en delphi


Código Delphi [-]
fecha : TdateTime;
str : string;
str:= '01/01/2007';

fecha :=StrtoDate(str);
edit1.text:=FormatDateTime('dd/MMM/yy',fecha);





me convierte el string a formato fecha y lo formateo
y queda de la siguiente manera 01/Ene/07

pero si lo quiero regresar de formato 01/Ene/07 a 01/01/07
Como le Hago , hay alguna opcion o funcion ... gracias

marcoszorrilla 09-11-2007 22:55:15

Código Delphi [-]
Edit1.Text:=FormatDateTime('dd/mmm/yyyy',Fecha);
Edit1.Text:=FormatDateTime('dd/mm/yyyy',Fecha);

Un Saludo.

pmtzg 09-11-2007 22:57:39

marca error
 
me marca error 01/Ene/07 is not valid date

ya lo hice

gracias

marcoszorrilla 09-11-2007 23:00:22

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
Fecha:Tdate;
begin
Fecha:=Date;
edit1.text:=FormatDateTime('dd/MMM/yy',fecha);
edit2.text:=FormatDateTime('dd/MM/yy',fecha);
end;


Un Salud.

pmtzg 09-11-2007 23:05:36

sigo en lo mismo
 
me sigue marcando error +

me dice raised exeption class EconvertError whit message "01/Ene/07"
is not valid date

marcoszorrilla 09-11-2007 23:07:23

Date cuenta que trabajo con la variable fecha, no con el Edit, puesto que el texto que contiene no puede transformarse a fecha.

Un Saludo.

pmtzg 10-11-2007 00:14:01

estoy de acuerdo
 
nada mas que

fecha :Tdate;

y por decir converti una variable 0 si quieres edit1.text de

01/01/07 a 01/Ene/07

bien ahora deseo hacerlo a la inversa

de 01/Ene/07 A 01/01/07

el ejemplo q me marcas es correcto
solo que fecha tabaja con el formato 01/01/07 y no con 01/Ene/07

si me doy a entender ,
muchas gracias por tu apoyo Amigo ...

egostar 10-11-2007 00:21:17

No se si haya una función que te haga lo que quieres, aqui te pongo un código que hace lo que necesitas, puede ser que haya algo mejor, pero esto te servirá.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
const
  Meses : Array [1..12] of String =
          ('ENE','FEB','MAR','ABR','MAY','JUN',
           'JUL','AGO','SEP','OCT','NOV','DIC');
var
  Fecha,Mes: String;
  MesI,I: Integer;
begin
  Fecha := '01/May/07';
  Mes   := Copy(Fecha,4,3);
  For I := 1 to 12 do begin
      if UpperCase(Mes) = Meses[i] then
         MesI  := I;
  end;
  ShowMessage(Copy(Fecha,1,3)+Format('%.*d',[2,MesI])+Copy(Fecha,7,3));
end;

Salud OS

pmtzg 10-11-2007 00:40:16

Gracias Amigo Egostar
 
si me funciono

una pregunta Más
que pasa si el sistema Operativo de la Compu esta en Ingles
ahi fallaria el arreglo de Meses ???

Pd. Estoy Apenas aprendiendo Delphi y es una maravilla

:):):):):):):):):)

egostar 10-11-2007 00:46:35

Cita:

Empezado por pmtzg (Mensaje 245150)
si me funciono

una pregunta Más
que pasa si el sistema Operativo de la Compu esta en Ingles
ahi fallaria el arreglo de Meses ???

Pd. Estoy Apenas aprendiendo Delphi y es una maravilla

Pues le enseñas a hablar en ingles al arreglo de meses :D:D:D

Bueno, que te parece así:

Código Delphi [-]
  Meses : Array [1..16] of String =
          ('ENE','FEB','MAR','ABR','MAY','JUN',
           'JUL','AGO','SEP','OCT','NOV','DIC',
           'JAN','APR','AUG','DEC');

Salud OS


La franja horaria es GMT +2. Ahora son las 05:16:11.

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