PDA

Ver la Versión Completa : Sintaxis de esta Función


cmgenny
10-05-2003, 00:23:11
Holas

Yo quiero utilizar esta función de Delphi

DateTimeToTimeStamp

pero no conosco bien la sintaxis y la he puesto hasta de cabeza y no me funciona. Esta función debuelve el dia la hora los segundos transcurridos en el año, pero a mi solo me interesa el dia.

gracias por su ayuda bey bye.

roman
10-05-2003, 00:44:47
No entiendo lo que preguntas. DateTimeToTimeStamp no devuelve dia, horas, minutos, etc, como dices, sino que simplemente convierte un TDateTime en un TTimeStamp.

TDateTime almacena fecha y hora en un Double (la parte entera es la fecha y la parte fraccionaria es la hora)

Un TTimeStamp es un record :


TTimeStamp = record
Time: Integer;
Date: Integer;
end;


Posiblemente lo que buscas sea la función DayOf a la que le pasas un TDateTime y te devuelve el día del mes a que corresponde la fecha.

// Saludos

madman
10-05-2003, 02:44:23
Deberias buscar primero en los ficheros de ayuda, muchas veces te saca de apuros.

Algunos errores son causados por cuenta propia.

cmgenny
10-05-2003, 05:52:06
Holas

dejame explicarme mejor, me refiero en realidad al truco ' Fecha Juliana' de Trucomania. En este truco hay una funcion que devuelce el dia del año en curso es decir que hoy es el dia 129 de los 365 que tiene el año.

pero mas abajo en este truco escribe un joven que existe una funcion en delphi la que hace esto sin una linea de codigo y la funcion que el nombra es 'DateTimeToJulianDate' pero en delphi no la encontre en la ayuda la que encontre es la que les acabo de mencionar en el aterior mensaje.

Bueno en todo caso si existe una manera mas facil como dice el joven puede alguien decirme como usarla.

Gracias a todos por molestarce en contestarme bey bey

andres1569
10-05-2003, 13:32:57
Hola:

Lo que dice madman es que mirando la ayuda de Delphi, está bastante bien explicado; DateTimeToTimeStamp convierte una fecha a un tipo TTimeStamp, que es un registro donde la parte Date indica los días desde el 1 de enero del año 1, y la parte Time los milisegundos desde las 12 de medianoche.

No sé si existe la función que buscas pero esta te puede servir:

function DayOfYear (ADate: TDateTime) : Word;
var
d, m, y : Word;
begin
DecodeDate (ADate, y, m, d);
result := DateTimeToTimeStamp(ADate).Date -
DateTimeToTimeStamp(EncodeDate(y - 1, 12, 31)).Date));
end;

Hallamos la resta de días entre la fecha de hoy y el último día del año pasado

Hasta luego

roman
11-05-2003, 06:43:01
Posteado originalmente por cmgenny
...pero mas abajo en este truco escribe un joven que existe una funcion en delphi la que hace esto sin una linea de codigo y la funcion que el nombra es 'DateTimeToJulianDate' pero en delphi no la encontre en la ayuda la que encontre es la que les acabo de mencionar en el aterior mensaje.


¿Qué versión de Delphi tienes?

La función que menciona el joven sí existe, al menos en Delphi 7, pero casi estoy seguro de que también en Delphi 6. Sin embargo no creo que sea la que buscas ya que te devuelve el número de días que han pasado desde el primero de enero del año 4713 antes de cristo! y adaptarla no será tan fácil ya quue deberas tomar en cuenta toodos los años bisiestos :)

La función que te puede servir es DayOfTheYear. Si en la versión que tienes de Delphi no viene entonces te servirá la que te pproporciona Andrés.

// Saludos