Necesito restar días hábiles a partir de la fecha actual.Días hábiles en Python
Actualmente tengo un código que siempre se debe ejecutar en el día hábil más reciente. Así que eso puede ser hoy si estamos de lunes a viernes, pero si es sábado o domingo, entonces tengo que volver al viernes antes del fin de semana. En este momento tengo algunos bastante torpe código para hacer esto:
lastBusDay = datetime.datetime.today()
if datetime.date.weekday(lastBusDay) == 5: #if it's Saturday
lastBusDay = lastBusDay - datetime.timedelta(days = 1) #then make it Friday
elif datetime.date.weekday(lastBusDay) == 6: #if it's Sunday
lastBusDay = lastBusDay - datetime.timedelta(days = 2); #then make it Friday
¿Hay una mejor manera?
¿Puedo decirle a timedelta que trabaje en días de la semana en lugar de días del calendario, por ejemplo?
¿Qué pasa con las vacaciones? – SLaks
Sí, ya me estoy ocupando de eso: mi base de datos siempre llena vacaciones siempre que caigan en un día laborable. Pero estoy de acuerdo, las vacaciones en general también son un problema. Quiero decir que podría empezar a ser elegante y usar los sckits.timeseries, pero realmente quiero algo más simple. –
Aquí hay un fragmento de Dzzone que podría ayudarte: http://snippets.dzone.com/posts/show/9173 –