Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   calcular el numero de semana (https://www.clubdelphi.com/foros/showthread.php?t=17186)

remialdo 27-12-2004 23:02:14

calcular el numero de semana
 
Estoy buscando una funcion que me diga el numero de la semana a partir de una determinada fecha, pero todas las que encuentro tienen el fallo de que ponen como primera semana del año la del 1 de enero, pero sin embargo el Monthcalendar de delphi ,por ejemplo, pone como primera semana del año (para el 2005) por ejemplo la semana del 3, alguien puede ayudarme?
gracias

Sinaloense 28-12-2004 00:41:01

existe la función:

WeeksBetween(const ANow, AThen: TDateTime): Integer;

Que te dice cuantas semanas hay a partir de una fecha. para más información consulta la ayuda en Delphi.

Aunque no entiendo el fallo de las funciones al asumir que en el primero de enero empieza la primera semana si es correcto.

remialdo 28-12-2004 14:49:17

Si miras en un calendario de este año la semana 53 es del 27 de diciembre al 2 de enero y la semana 1 del 2005 es la del 3 al 9 de enero

marcoszorrilla 28-12-2004 15:36:36

Pues yo creo que está bien, una cosa es dividir entre 7 bien sea 365 ó 366, con lo cual obtendríamos curiosamente 52 semanas y un resto de 1 ó 2 días según los casos, y otra es contar por semanas. El 1 de Enero es una semana, aunque ya estuviese empezada. Si quieres contar de otra forma, entonces no tienes más que crearte una función personalizada para tu propósito particular.

Un Saludo.

Jan_polero 26-05-2005 10:32:57

Yo tengo el mismo problema. Debo indicar el rango de días de la semana indicada de un año. El problema es que dependiendo del calendario que mires las semanas varían. Unos calendarios empiezan a contar como primera semana la que contenga el uno de enero. Pero pienso que no está bien, ya que si cae a mitad de semana, esa semana pertenece al año anterior y como se ha dicho más arriba( y como lo hace delphi) la primera semana de este año(2005) sería del 3 al 9.Una semana no puede pertenecer a dos años. De todas maneras mi pregunta era si existe algún estándar a seguir o cada uno elije cómo cuenta las semanas del año.
UN SALUDO.

rafita 26-05-2005 11:01:24

Cita:

Empezado por Jan_polero
mi pregunta era si existe algún estándar a seguir o cada uno elije cómo cuenta las semanas del año.

Lo estándar es tomar como primera semana la correspondiente al 1 de enero.
Pero si tu aplicación necesita un cálculo del número de semanas que sea diferente (hacer turnos de trabajo, vacaciones,...) debes trabajartelo. Yo partiría de una fecha fija que sería la semana 1, y realizaría todos los cálculos con respecto a esa fecha.

Cita:

Empezado por Jan_polero
Debo indicar el rango de días de la semana indicada de un año

Para este caso tomaría como primera semana la del 1 de enero.

saludos.

S.M.S. 26-05-2005 11:06:31

La función WeekOf(TDateTime) te devuelve el número de semana conforme a lo hace el Monthcalendar, que creo es lo que buscas.

Saludos.

AzidRain 11-09-2005 08:02:05

Semanas Personalizadas
 
La pregunta original tiene cierto sentido. En la compañía donde trabajo las semanas se cuentan a partir de la semana en donde cae el 1 de Febrero (no de Enero) y además la semana inicia en sábado no en Lunes o Domingo.

He querido hacer el algoritmo pero por falta de tiempo nunca lo he terminado, el chiste sería que pudieras calcular que semana corresponde de acuerdo a esos dos parametros (día en que empieza la semana y primer día del año)...


La franja horaria es GMT +2. Ahora son las 07:44:16.

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