Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   fechas en formato numerico (https://www.clubdelphi.com/foros/showthread.php?t=44294)

FGarcia 02-06-2007 20:16:58

fechas en formato numerico
 
Hola!

Tengo que dejar en un archivo de texto una cadena que contiene un campo de fecha (dd/mm/yyyy) pero como lo va a leer un programa hecho en otro lenguaje (no tengo idea cual) me piden que esa fecha sea representada por un numero (p.e. 758963) siendo que delphi tiene un manejo de fechas tan sencillo y con tantas posibilidades que nunca me preocupe por investigar eso, ya hice una revision por los hilos del foro y no encontre nada parecido en el help de delphi no he encontrado un tema asi ( o no lo he buscado en profundidad) asi que apelo nuevamente a su sabiduria amigos para ver si me pueden hechar un cable en este tema. Gracias

luisgutierrezb 02-06-2007 20:33:42

bueno, en realidad el TDateTime es un numero, revisa en la ayuda, a lo mejor lo pasas directo

roman 02-06-2007 20:40:33

Como dice Luis, un DateTime no es sino un número. La pregunta es, si es ése el número que ellos quieren. Delphi pone en un DateTime el número de días que han transcurrido desde una fecha base, el 30 de diciembre de 1899. Otros sistemas pueden tomar otra base, así que debe haber un "acuerdo" entre tu sistema y el otro para que puedan entenderse. Al menos así lo entiendo yo.

// Saludos

marcoszorrilla 02-06-2007 20:45:33

Quizás este ejemplo te de algo de luz:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var
MiFecha:TDate;
n:Integer;
begin
MiFecha:=Date;
ShowMessage(FormatFloat('00000000',Mifecha));
n:=39236;
ShowMessage(FormatDateTime('dd/mm/yyyy',n));
end;

Como la fecha es la parte entera de un TDateTime, entonces es un simplemente un entero en un TDate.

Un Saludo.

FGarcia 02-06-2007 20:50:10

De nuevo aqui!

Si, si es cierto ya probe y quedo asi:

Código Delphi [-]
edit1.Text := FloatToStr(Date);

y efectivamente al leer la ayuda para TDateTime lei lo del 30 de Dic de 1899 y esa fue la siguiente pregunta que me surgio ¿sera el numero que quieren? pero como diria la nana Chona: ¡Esa es otra historia!

una supocision solamente ¿ si el lenguaje fuera cllipper o algun xBase, como leen esos lenguajes las fechas? mas bien ¿desde cuando?

edito:
Gracias marcoszorrilla, no habia leido tu mensaje cuando coloque este.

fidel 02-06-2007 22:40:14

Hola:

Puedes hacer un número de 8 cifras con YYYYMMDD, nunca tendrás dos iguales y puedes comparar numeros para saber que fecha es más reciente, o ponerlo en formato fecha cuando quieras con el proceso contrario.

Ej. 02 de junio de 2007 sería 20070602.

Un saludo.


La franja horaria es GMT +2. Ahora son las 21:05:18.

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