I think we have a coding standard that all times can be passed in a strings or datetime objects. The input should always be scrubbed by parse_time inside the function.