TypeError: can't subtract offset-naive and offset-aware datetimes

TypeError: can't subtract offset-naive and offset-aware datetimes

所以我想减去 datetime 对象。我使用 dateutil.parser 获得了一个,另一个来自 datetime.now()。我不断收到

TypeError: can't subtract offset-naive and offset-aware datetimes

我检查了解决方案,但它们似乎不起作用。这是代码:

import json
from dateutil import parser
from datetime import *

with open(".log") as dataFile: 
   dataFile.seek(0)
   data = []
   line=dataFile.readline()
   data=json.loads(line)
   data=ast.literal_eval(json.dumps(data))
   last=parser.parse(data["TIME"])
   print datetime.now()-last

这是它正在读取的数据行:

{"TIME": "2017-06-29T15:17:27.663Z"}

通过将打印更改为

来修复它
print datetime.utcnow().replace(tzinfo=pytz.UTC)-last

我在检查 Key Vault 机密的过期日期(以天为单位)时遇到了这个错误。喜欢:

secret.properties.expires_on - datetime.utcnow() 

我要做的是:

from datetime import timedelta, datetime, timezone

secret.properties.expires_on - datetime.now(timezone.utc)

很奇怪 datetime.utcnow 没有用,但你知道这只是 IT 世界 ;-)