To check if the given timestamp is on offset or not, use the CustomBusinessHour.is_on_offset() in Pandas. Pass the timestamp as an argument to check.
At first, import the required libraries −
import pandas as pd
Set the timestamp object in Pandas −
timestamp = pd.Timestamp('2021-11-14 05:20:30')
Create the CustomBusinessHour Offset. CustomBusinessHour is the DateOffset subclass −
cbhOffset = pd.tseries.offsets.CustomBusinessHour(start="09:30", end = "18:30")
Add the offset to the Timestamp and display the Updated Timestamp
print("\nUpdated Timestamp...\n",timestamp + cbhOffset)
Check if the given timestamp is on offset or not −
offset = cbhOffset.is_on_offset(pd.Timestamp('2021-11-20 05:20:30'))
Display the result −
print("\nCheck if the given timestamp is on offset or not...\n",offset)
Example
Following is the code −
import pandas as pd # Set the timestamp object in Pandas timestamp = pd.Timestamp('2021-11-14 05:20:30') # Display the Timestamp print("Timestamp...\n",timestamp) # Create the CustomBusinessHour Offset # CustomBusinessHour is the DateOffset subclass # Here, "start" is the start time of your custom business hour in 24h format. # The "end" is the end time of your custom business hour in 24h format. cbhOffset = pd.tseries.offsets.CustomBusinessHour(start="09:30", end = "18:30") # Display the CustomBusinessHour Offset print("\nCustomBusinessHour Offset...\n",cbhOffset) # Add the offset to the Timestamp and display the Updated Timestamp print("\nUpdated Timestamp...\n",timestamp + cbhOffset) # Check if the given timestamp is on offset or not offset = cbhOffset.is_on_offset(pd.Timestamp('2021-11-20 05:20:30')) # display the result print("\nCheck if the given timestamp is on offset or not...\n",offset)
Output
This will produce the following code −
Timestamp... 2021-11-14 05:20:30 CustomBusinessHour Offset... <CustomBusinessHour: CBH=09:30-18:30> Updated Timestamp... 2021-11-15 10:30:00 Check if the given timestamp is on offset or not... False