Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Calculates business duration in days, hours, minutes and seconds by excluding weekends, public holidays and non-business hours
Calculates business duration in days, hours, minutes and seconds by excluding weekends, public holidays and non-business hours
pip install business-duration
.. code:: python
from business_duration import businessDuration
import pandas as pd
import holidays as pyholidays
from datetime import time
#Start date must be in standard python datetime format
start_date = pd.to_datetime('2017-07-01 02:02:00')
#Start date must be in standard python datetime format
end_date = pd.to_datetime('2017-07-07 04:48:00')
#Business open hour must be in standard python time format-Hour,Min,Sec
biz_open_time=time(7,0,0)
#Business close hour must be in standard python time format-Hour,Min,Sec
biz_close_time=time(17,0,0)
#US public holidays
US_holiday_list = pyholidays.US(state='CA')
#Business duration can be 'day', 'hour', 'min', 'sec'
unit_hour='hour'
#Printing output
print(businessDuration(startdate=start_date,enddate=end_date,starttime=biz_open_time,endtime=biz_close_time,holidaylist=US_holiday_list,unit=unit_hour))
#Result
#30.0
#Result is 30 hours because July 1st, 2nd are weekends and 4th is US public holiday. So 3 days remains with 10 business hours per day. 3 days*10 hours = 30 Hours
.. code:: python
from business_duration import businessDuration
from datetime import datetime
start_date = datetime.strptime("2018-01-01","%Y-%m-%d").date()
end_date = datetime.strptime("2018-03-31","%Y-%m-%d").date()
print(businessDuration(startdate=start_date,enddate=end_date,unit='day'))
#Result
65.0
.. code:: python
from business_duration import businessDuration
import pandas as pd
import holidays as pyholidays
from datetime import time,datetime
#Reading input file
inputdata = pd.read_excel('Sample.xls')
#Converting to standard Python datetime format
inputdata.sys_created_on=pd.to_datetime(inputdata.sys_created_on,format='%Y-%m-%d %H:%M:%S')
inputdata.resolved_at=pd.to_datetime(inputdata.resolved_at,format='%Y-%m-%d %H:%M:%S')
#Business open hour
biz_open_time = time(8,0,0)
#Business close time
biz_close_time = time(17,0,0)
#Weekend list. 5-Sat, 6-Sun
weekend_list = [5,6]
#Custom US holidays
US_holiday_list = {datetime(2018,1,1).date():"New Year's Day",datetime(2018,5,28).date():"Memorial Day",datetime(2018,7,4).date():"Independence Day",datetime(2018,9,3).date():"Labor Day",datetime(2018,11,22).date():"Thanksgiving",datetime(2018,12,25).date():"Christmas Day"}
#Business duration 'day','hour','min','sec'
unit_hour='hour'
#Applying the function to entire dataframe
from itertools import repeat
inputdata['Biz_Hour'] = list(map(businessDuration,inputdata.sys_created_on,inputdata.resolved_at,repeat(biz_open_time),repeat(biz_close_time),repeat(weekend_list),repeat(US_holiday_list),repeat(unit_hour)))
FAQs
Calculates business duration in days, hours, minutes and seconds by excluding weekends, public holidays and non-business hours
We found that business-duration demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.