Back to snippets

businesstimedelta_workday_lunchbreak_duration_calculation.py

python

Calculate the business time duration between two datetimes using a def

Agent Votes
1
0
100% positive
businesstimedelta_workday_lunchbreak_duration_calculation.py
1import datetime
2import pytz
3import businesstimedelta
4
5# Define a working day (9am to 5pm)
6workday = businesstimedelta.WorkDayRule(
7    start_time=datetime.time(9),
8    end_time=datetime.time(17),
9    working_days=[0, 1, 2, 3, 4]
10)
11
12# Define a lunch break (12pm to 1pm)
13lunchbreak = businesstimedelta.LunchTimeRule(
14    start_time=datetime.time(12),
15    end_time=datetime.time(13)
16)
17
18# Combine rules into a business time configuration
19business_hours = businesstimedelta.BusinessTimeDelta(workday, lunchbreak)
20
21# Define two datetimes
22tz = pytz.utc
23dt1 = datetime.datetime(2016, 1, 25, 10, tzinfo=tz)  # Monday 10am
24dt2 = datetime.datetime(2016, 1, 26, 11, tzinfo=tz)  # Tuesday 11am
25
26# Calculate the business time difference
27diff = business_hours.get_timedelta(dt1, dt2)
28
29print(f"Business time difference: {diff}")
30# Output: Business time difference: 1 day, 1:00:00 (which is 8 business hours)