Have you looked at `dateutil.parser`?