Guest User

Untitled

a guest
Jun 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. from datetime import datetime
  2. from typing import Any
  3.  
  4. def safe_datetime(dt: Any) -> Union[datetime, None]:
  5. """
  6. Executes a safe conversion of an object to a proper datetime.
  7. :param dt: An object (str, datetime or other)
  8. :return: datetime if conversion is successful else None.
  9. """
  10. try:
  11. if isinstance(dt, datetime):
  12. return dt
  13. elif isinstance(dt, str):
  14. try:
  15. return datetime.strptime(dt, '%Y-%m-%d %H:%M:%S')
  16. except ValueError:
  17. return datetime.strptime(dt, '%Y-%m-%d')
  18. else:
  19. return None
  20. except ValueError:
  21. return None
Add Comment
Please, Sign In to add comment