Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   cantidad de noches (https://www.clubdelphi.com/foros/showthread.php?t=16978)

fixarg 18-12-2004 01:40:38

cantidad de noches
 
utilizo delhpi 5 interbase 6
necesito hallar la cantidad de noches entre dos fechas (campos date de interbase)... como puedo hacerlo?

Lepe 18-12-2004 12:54:28

DaySpan (DateUtils)
Returns the number of days (including fractional days) between two specified TDateTime values.

Primero usa DaysBetween (que da el nº de dias completos)
HorasDeNoche := multiplicas el nº de dias * (horas que hay en cada noche)
NumeroNoches := HorasDeNoche / 24;

Espero que sea esto lo que buscas, supongo que dependiendo del mes, habrá un nº de horas distinto en cada noche, tendrías que controlarlo, o usar un nº constante.

Saludos

Lepe 18-12-2004 13:05:39

Cita:

Empezado por Lepe
NumeroNoches := HorasDeNoche / 24;

¡¡¡ Vaya tonteria !!! los dias completos siempre tienen 1 noche, al menos hasta ahora ha sido así. D

fixarg 19-12-2004 00:58:22

gracias Lepe... me ayuda un poco junto con otras cosas que estuve viendo en hilos anteriores...

fixarg 20-12-2004 23:03:20

lo solucione asi
 
fecha1:TDate;
fecha2:TDAte;
noches: integer;

noches:=trunc(fecha1-fecha2);


lo raro de esto es que no funciona si se quiere asignar el resultado de la función trunc a un parámetro de un procedimiento almacenado...

IBStoredProc2.Params.ParamValues['noches'].asInteger:=trunc( fecha2 - fecha1);

Da el siguiente error:
internal error e6724

Hay que ahcer la asignación mediante una variable como en el ejemplo

da un error interno


La franja horaria es GMT +2. Ahora son las 07:51:31.

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