2011-03-14 9 views
5

¿Existe algún problema con la biblioteca, el patrón o la forma común de trabajar? Quiero decir, ¿hay alguna forma relativamente bien adoptada para saber si algún día es un día de trabajo y no un fin de semana, vacaciones, etc.?Cómo descubrir si algún día es un día de trabajo

Además, suponiendo que exista tal cosa, ¿sería útil descubrir si el día tiene algún "detalle"? Por ejemplo, aquí en Brasil solíamos trabajar solo en la tarde del Miércoles de Ceniza. ¿Existe algún tipo de marco flexible para manejar tales variaciones?

Podría implementar este tipo de lógica de negocios sin ninguna dificultad, pero no me gustaría reinventar la rueda y las sugerencias de otros usuarios pueden ser útiles. Además, parece un problema muy recurrente.

¡Gracias de antemano!

+0

depende de su ubicación, también - es un viernes un día de trabajo o no ?? ¿¿Domingo?? –

+0

@marc_s aquí solo los sábados y domingos son los fines de semana. En realidad, estoy sorprendido de que este no sea el caso en todo el mundo :) Diría que una buena respuesta sería lo suficientemente flexible como para manejar ambos casos. De todos modos, es fácil lidiar con los fines de semana; la parte interesante es lidiar con las vacaciones. – brandizzi

+1

Algunos países de Medio Oriente tienen viernes libre pero trabajan el domingo – SQLMenace

Respuesta

3

Si usted está en la programación Java puede utilizar esto: Non-working day and Holiday Handler Algorithms

+0

No estoy trabajando con Java en el proyecto en cuestión ... Sin embargo, ¡realmente, realmente amo esta lib! ¡Gracias! Seguro que será útil y apuesto a que puedo inspirarme en sus decisiones arquitectónicas. – brandizzi

2

La mayoría de las personas que conozco usan un calendar table para este tipo de cosas. Mi tabla contiene información para más de 80 países

+0

De hecho, esa es la solución que probablemente usaré. – brandizzi

+0

¡Diviértete manteniendo esa base de datos! :) –

+1

@MikeEast .... La parte bonita es que no la mantengo, el equipo de operaciones lo hace :-) – SQLMenace

1

Google tiene algunos calendarios que probablemente pueda usar.

mira esto, por ejemplo: http://www.google.com/calendar/feeds/en.brazilian%23holiday%40group.v.calendar.google.com/public/basic

Usted tiene que usar su cuenta de Google para navegar por ellos y puede haber algunas limitaciones de la licencia sobre el uso, pero la información está ahí.

+0

Lo pensé y parece ser una buena idea usarlo. Sin embargo, hay algunos problemas adicionales por resolver. Por ejemplo, aquí tenemos feriados estatales y municipales, es habitual "mover" un feriado de jueves a viernes, no es raro "colgar" un viernes entre feriado y sábado, dispensar a los empleados, etc. etc. Estoy pensando en una solución mixta utilizando una fuente de datos externa y una tabla de base de datos y buscando eventuales herramientas o patrones para ayudar en esta implementación. – brandizzi

Cuestiones relacionadas