Great question! Sounds like a task I may need to do sometime. There isn't an action I can find or calculation outside of a task that takes it into consideration. I can't think of a webservice call that can get this. There are no NWadmin operations I can find either. I could imagine you could make a SQL call and retrieve the data that way. But hopefully that isn't the only option.
But what is your situation that you need this calculation? Just making sure that it isn't around a task or pause as these actions consider business hours.
@Andrew Thanks for understanding. I hope you get my question.
What I want is, Execute SQL actions to pause if the current time is not a business hours.
Ok, in theory then, place a Pause For action in the workflow and have the Execute SQL immediately after the pause.
In the pause action check the box for "Business Hours Only", and set to 1 hour
Then what should happen is, the workflow will pause for an hour, if at that time it is a business hour, it will continue to the Execute SQL. If at that time it is not within business hours then it will check every hour until it is a business hour.