FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
cuantos domingos tiene un periodo
Pues tengo problemas para sacar el algoritmo que de un periodo dado me retorne el numero de domingos que hay en ese periodo.
Si alguien me pudiera hechar la mano gracias |
#2
|
||||
|
||||
Podrías utilizar WeeksBetween o DaysBetween entre las dos fecha, y dependiendo la posición en la semana de las fechas será un domingo menos o no.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
pues asi me quedo
Function GetSundays(IniDate: TDateTime; EndDate: TDateTime): Integer;
Var Sundays: Integer; Begin Sundays := WeeksBetween(IniDate,EndDate); If DayOfWeek(EndDate) = 1 Then Result := SunDays + 1 Else Result := SunDays; End; |
#4
|
|||
|
|||
Y si tu período también empieza el domingo? Debes validar eso también, porque por ejemplo:
Entre el 6 y el 27 de febrero hay 4 domingos y con tu función devuelve 3. Debes incluir ambos extremos, a no ser, claro, que tus períodos no empiecen nunca un domingo... |
#5
|
||||
|
||||
mil gracias por la observacion.
|
#6
|
||||
|
||||
asi queda entonces
asi quedo finalmente
Function GetSundays(IniDate: TDateTime; EndDate: TDateTime): Integer; Var Sundays: Integer; Begin Sundays := WeeksBetween(IniDate,EndDate); If DayOfWeek(IniDate) = 1 then Sundays := Sundays + 1; If DayOfWeek(EndDate) = 1 Then Sundays := SunDays + 1; Result := SunDays; End; |
|
|
|