Les plus récentes jour ouvrable précédent en Python

J'ai besoin de soustraire jours ouvrables à partir de la date actuelle.

J'ai actuellement un code qui doit toujours être en cours d'exécution les plus récentes sur les affaires de la journée. De sorte que peut être aujourd'hui, si nous sommes ouvert du lundi au vendredi, mais si c'est samedi ou dimanche alors que je dois repasser sur le vendredi avant le week-end. J'ai actuellement quelques jolies maladroit code pour ce faire:

 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

Est-il un meilleur moyen?

Puis-je dire timedelta de travail dans la semaine plutôt que de jours calendrier, par exemple?

  • Qu'en vacances?
  • Voici un extrait de dzzone qui pourrait t'aider: snippets.dzone.com/posts/show/9173
  • ouais, je suis déjà en prenant soin de celles-ci: ma base de données toujours des remblais vacances aussi longtemps qu'ils tombent sur un jour de semaine. Mais je suis d'accord, les vacances en général sont également un problème. Je veux dire que je pouvais commencer à obtenir la fantaisie et à l'utilisation de la sckits.timeseries mais vraiment je veux quelque chose de plus simple.
  • bonjour, je suis en retard à la fête, désolé. une simple chose OP pouvait avoir à faire est de vérifier si le type datetime.date.jour de la semaine(lastBusDay) >=5 au lieu de vérifier le samedi et le dimanche en face de la maison. mais oui .. il y a de mieux répondre ci-dessous, de toute façon.