The parent workflow could have a process script added to it that evaluates the time-of-day that it was launched (this requires turning off the "generate at runtime" option.) When it detects it was launched in the 23rd hour, it would set a variable to that effect.
Does the child workflow have to be external? I would probably just embed it right into the parent workflow as the last step, and then a simple precondition rule on that last step could interrogate the variable that has been set and result in either "run" or "skip".
If the workflow needs to remain external, then I would probably set up a static variable object (instead of using a local variable) and the first step of the child workflow would have a precondition rule to loop until that variable has been satisfied.