简体   繁体   中英

Python: How to compare date string in ISO 8601 format with current time

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

How to compare above date string with current date time?

Try using datetime. ( date_string ) ( date_string ) datetime. ( date_string ) to parse date_str and then passing the determined timezone info into datetime. ( tz=None ) ( date_string )解析date_str ,然后将确定的时区信息传递到datetime. ( tz=None ) datetime. ( tz=None ) : ( 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)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM