-2
date_str = '2022-03-29T17:49:35.914417-04:00'

How to compare above date string with current date time?

FObersteiner
  • 22,500
  • 8
  • 42
  • 72
Abhinav manthri
  • 151
  • 1
  • 14

1 Answers1

2

Try using datetime.fromisoformat(date_string) to parse date_str and then passing the determined timezone info into datetime.now(tz=None):

>>> from datetime import datetime
>>> date_str = '2022-03-29T17:49:35.914417-04:00'
>>> dt = datetime.fromisoformat(date_str)
>>> dt
datetime.datetime(2022, 3, 29, 17, 49, 35, 914417, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000)))
>>> dt_now = datetime.now(dt.tzinfo)
>>> dt_now
datetime.datetime(2022, 5, 20, 15, 50, 58, 525908, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000)))
>>> dt_now > dt
True
>>> dt_now - dt
datetime.timedelta(days=51, seconds=79282, microseconds=611491)
Sash Sinha
  • 18,743
  • 3
  • 23
  • 40