PDA

Ver la Versión Completa : fechas en formato numerico


FGarcia
02-06-2007, 20:16:58
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:

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:


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.