Devo sottrarre giorni lavorativi dalla data corrente.Giorni lavorativi in Python
Attualmente ho del codice che deve essere sempre in esecuzione il giorno lavorativo più recente. Quindi potrebbe essere oggi se siamo da lunedì a venerdì, ma se è sabato o domenica, allora devo riportarlo al venerdì prima del fine settimana. Al momento ho alcuni piuttosto codice goffo per fare questo:
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
C'è un modo migliore?
Posso timedelta dico di lavorare in giorni feriali, piuttosto che giorni di calendario, ad esempio?
Che dire di vacanze? – SLaks
sì, mi sto già occupando di questi: il mio database riempie sempre le festività purché cadano nei giorni feriali. Ma sono d'accordo, anche le vacanze in generale sono un problema. Intendo dire che potrei iniziare a fare i capricci e usare gli sckits.timeseries, ma in realtà voglio qualcosa di più semplice. –
Ecco uno snippet di dzzone che potrebbe aiutarti: http://snippets.dzone.com/posts/show/9173 –