Guest User

Untitled

a guest
Aug 14th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. import time
  2. from datetime import datetime , timedelta
  3. from dateutil.rrule import rrule, MONTHLY, DAILY
  4.  
  5. date_start_obj = datetime(2018,05,18)
  6. date_end_obj = datetime(2018,05,30)
  7. # holidays = [datetime(2018,05,21).date(), datetime(2018,05,28).date(), datetime(2018,05,20).date()]
  8.  
  9. def get_working_days(date_start_obj, date_end_obj, holidays=[]):
  10. many_holidays = 0
  11. span = date_end_obj - date_start_obj
  12. for i in xrange(span.days + 1):
  13. _date = date_start_obj + timedelta(days=i)
  14. if _date.date() in holidays and _date.weekday() in range(0, 5):
  15. print _date.date()
  16. many_holidays += 1
  17.  
  18.  
  19. weekdays = rrule(DAILY, byweekday=range(0, 5), dtstart=date_start_obj, until=date_end_obj)
  20. weekdays = len(list(weekdays))
  21.  
  22. # desconsiderar do dia start
  23. return (weekdays -1) - many_holidays
  24.  
  25. get_working_days(date_start_obj, date_end_obj, holidays)
Add Comment
Please, Sign In to add comment