fwarren icon

Compute Workdays in Pyton

fwarren | PRO | 03/08/17 05:22:35 PM UTC | 0 ⭐ | 307 👁️ | Never ⏰ | []
Python |

1.44 KB

|

None

|

0 👍

/

0 👎

import workdays  # pip install workdays
import datetime
 
# holidays from https://www.timeanddate.com/holidays/us/2021
holidays = [(lambda x:  datetime.datetime.strptime(x ,"%Y-%m-%d").date()  ) (x) for x in [
    "2017-01-01","2017-05-29","2017-07-04","2017-09-04","2017-11-24","2017-11-25","2017-12-25",
    "2018-01-01","2018-05-28","2018-07-04","2018-09-03","2018-11-22","2018-11-23","2018-12-25",
    "2019-01-01","2019-05-27","2019-07-04","2019-09-02","2019-11-28","2019-11-29","2019-12-25"
    "2020-01-01","2020-05-25","2020-07-03","2020-09-07","2020-11-26","2020-11-27","2020-12-25"
    "2020-12-31","2021-05-31","2021-07-05","2021-09-06","2021-11-25","2021-11-26","2021-12-25"
    "2021-12-31","2022-05-30","2022-07-04","2022-09-05","2022-11-24","2022-11-25","2022-12-24"
    "2023-01-02","2023-05-29","2023-07-04","2023-09-04","2023-11-22","2023-11-23","2023-12-26"
    "2024-01-01","2024-05-27","2024-07-04","2024-09-02","2024-11-28","2024-11-29","2024-12-25"
    "2025-01-01","2025-05-26","2025-07-04","2025-09-01","2025-11-27","2025-11-28","2025-12-25"
]]
 
 
 
max(workdays.networkdays(datetime.datetime.strptime(boat["fabEnd"],"%Y-%m-%d").date(),
datetime.datetime.strptime(boat["paintStart"],"%Y-%m-%d").date(), holidays) -2, 0)
 
start = datetime.datetime.strptime('03-15-2017','%m-%d-%Y').date()
end = datetime.datetime.strptime('03-27-2017','%m-%d-%Y').date()
 
print "Number of workdays %g" % workdays.networkdays(start, end, holidays)

Comments