如何比较unicode和datetime.timedelta值?

时间:2017-01-30 12:27:01

标签: python-2.7 datetime

我有一个unicode值。它的数字说" 4"。我需要将其与datetime.timedelta"42 days, 9:46:21"进行比较。如何将它们以相同的格式转换为比较或减法?

在下面的代码中,TimeDiffRestoCurrent是datetime.timedelta,SLA_Time是unicode字符串。

if  TimeDiffRestoCurrent < SLA_Time:
    print()

我发现的错误是:

    if  TimeDiffRestoCurrent < SLA_Time:
TypeError: can't compare datetime.timedelta to unicode

1 个答案:

答案 0 :(得分:0)

假设s将您的值保存为unicode(以秒为单位),td保存您的timedelta值。

首先,将s转换为float:

t1 = float(s) # assuming it can be parsed to float

然后,通过执行以下操作将td转换为float:

t2 = td.total_seconds()

您现在可以比较它们,因为它们都是秒。如果s是几分钟,几小时或几天,请执行相应的乘法。