Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2007
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Determinar dias entre dos fechas

Saludos Colegas,

Trabajo con Delphi5

Necesito saber la cantidad de sabados que hay en un rango de fechas
he visto la funcion DayOfWeek pero no consigo dar con el asunto.

Lo que quiero es crear una funcion que pasandole un rango de fechas: FechaInico y FechaFinal, al restar estas cantidades me devolvera la diferencia de fechas, necesito saber cuantos sabados hay en esa fecha.

Esto es para el calculo de las prestaciones laborales.

Todos sus comentarios seran bienvenidos
Gracias de antemano

Oscar Portorreal
Santo Domingo, Rep. Dom.
Responder Con Cita
  #2  
Antiguo 14-02-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 12
sinalocarlos Va por buen camino
prueba con:
Código Delphi [-]
showmessage(floattostr(trunc((((fecha1 - fecha2) - (7-DayOfWeek(fecha1 .date)))/7)+1)));

donde fecha1 y fecha2 son tdatetime
y suponiendo que el inicio de la semana en el domingo, tengo entendido que DayOfWeek da esto por hecho ya

Última edición por sinalocarlos fecha: 14-02-2007 a las 22:07:53.
Responder Con Cita
  #3  
Antiguo 14-02-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.657
Poder: 19
Caral Va por buen camino
Hola
Esto no es exatamente lo que pides pero te puede ayudar, esta hecho por Al Gonzalez.
2 dateTimepicker y un edit en el evento on click de un boton.
Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
Var
FechHora1 :TDateTime;
FechHora2 :TDateTime;
Dias :Integer;
begin
   FechHora1:= DateTimePicker1.DateTime;
   FechHora2:= DateTimePicker2.DateTime;
   Dias := Trunc (FechHora2) - Trunc (FechHora1);
   Edit1.Text:= IntToStr(Dias);
end;
Espero te sirva de ejemplo o guia.
Saludos
Responder Con Cita
  #4  
Antiguo 14-02-2007
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Gracias por tu ayuda
pero al ejecutarlo en delphi5 me arroja el siguiente error:


[Error] NScpFCN.pas(1728): Record, object or class type required
Responder Con Cita
  #5  
Antiguo 14-02-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 15
gluglu Va por buen camino
Calcula el número de días entre las dos fechas, lo divides por 7, que te dará el número de semanas, y por tanto el número de 'sábados' que tienes entre las dos fechas.

Coge el resto de la división (función Mod p.ej.) y súmaselo al día de la semana (DayOfWeek o DayOfTheWeek) de la fecha de inicio. Si dicha suma es mayor que 6 (o 7 si eliges DayOfWeek y por tanto Domingo = 1), súmale un sábado más al número inicial obtenido.

Por ejemplo : Cuantos sábados hay entre 1 Feb 2007 y 25 Feb 2007 ? Diferencia = 24. 24/7 = 3 sábados seguro.
24 mod 7 = 3. DayOfTheWeek(1 Feb 2007) = 4, ... 4 + 3 = 7, por tanto al ser mayor/igual que 6 en este caso por haber utilizado 'DayOfTheWeek', tienes que sumarle 1. Resultado final = 4 sábados !
__________________
Piensa siempre en positivo !

Última edición por gluglu fecha: 14-02-2007 a las 22:31:22.
Responder Con Cita
  #6  
Antiguo 16-02-2007
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Gracias, por su valiosa ayuda si ustedes no hubiese sido posible resolver mi problema.
Responder Con Cita
  #7  
Antiguo 06-08-2007
sonsicamen sonsicamen is offline
Registrado
 
Registrado: ago 2007
Posts: 1
Poder: 0
sonsicamen Va por buen camino
Calcular rango entre fechas sin domingos

Buenas, yo estoy buscando lo mismo pero para domingos, ¿se podría adaptar esta fórmula? Gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calcular numero de dias entre dos fechas vero Varios 22 31-05-2011 15:37:34
Diferencia en dias entre dos fechas. AMINOA2R Firebird e Interbase 2 15-12-2005 16:58:37
dias entre dos fechas davidgaldo Varios 5 19-05-2005 22:02:03
Numero de dias entre fechas (TDateTime) sierraja Varios 4 26-04-2005 19:29:02
Contar dias de la semana entre fechas lolobs Varios 1 04-09-2003 17:11:24


La franja horaria es GMT +2. Ahora son las 02:10:24.


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