Python:如何比较ISO 8601格式的日期字符串与当前时间


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

如何比较以上日期字符串与当前日期时间?

尝试使用datetime.fromisoformat(date_string)解析date_str,然后将确定的时区信息传递给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)

最新更新