如何从“unicode”中找到时间间隔'和' datetime.datetime'格式

时间:2018-01-23 10:49:13

标签: python python-2.7

我有一个代码片段,我需要在几分钟内找到间隔。 如何找到这两种不同格式变量的时间差异。我怎样才能在几分钟内得到这些经过的时间?感谢。

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'

2 个答案:

答案 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