我有一个代码片段,我需要在几分钟内找到间隔。 如何找到这两种不同格式变量的时间差异。我怎样才能在几分钟内得到这些经过的时间?感谢。
eventTimestamp= u'2018-01-22T08:00:05.579Z',
endtimestamp = datetime.datetime(2018, 1, 22, 8, 0, 7, 197000, tzinfo=tzutc())
completition_time = endtimestamp - eventTimestamp
#Converting interval into minutes
secnds = completition_time.total_seconds()
minutes = int(secnds / 60)
if( (minutes >= 30) ):
print("MATCH FOUND")
如果我运行此操作,我会在第3行收到以下错误:
TypeError: unsupported operand type(s) for -: 'unicode' and 'datetime.datetime'
答案 0 :(得分:0)
您正在尝试减去datetime对象和字符串对象。您需要将字符串转换为日期时间
import datetime
eventTimestamp= datetime.datetime.strptime('2018-01-22T08:00:05.579Z', "%Y-%m-%dT%H:%M:%S.%fZ")
答案 1 :(得分:0)
你必须将unicode字符串转换为datetime对象才能使用-
减号运算符
import datetime
unicode_timestamp= u'2018-01-22T08:00:05.579Z'
datetime_from_unicode = datetime.datetime.strptime(unicode_timestamp, "%Y-%m-%dT%H:%M:%S.%fZ")
如果您的unicode不同,请参阅https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior