I'm fairly certain Childfold could do this for you, specifically the childpredicateexpression parameter should be able to limit which children are selected. You could try limiting them inline with a comparison using Some field on the child object that tracks the date it was worked on being greater than BeginningOfQuearter(), but I'm not 100% certain it would work. If you find it does not you could also build a field on the child object that holds a boolean for whether or not the child object applies within this quarter.
The tough part here is anything that has some hours in two quarters. You'd probably need to rethink this completely if that situation is common as you'd need to have your hours tracked in some other fashion such that you can track across multiple quarters and keep the hours for each separated.