python减去时间并运行if循环
我想比较两次,如果新时间超过2min,那么if语句将打印输出,我可以得到datetime.datetime.now的输出,但是如何检查旧时间是否小于2minpython减去时间并运行if循环,python,linux,debian,Python,Linux,Debian,我想比较两次,如果新时间超过2min,那么if语句将打印输出,我可以得到datetime.datetime.now的输出,但是如何检查旧时间是否小于2min #!/usr/bin/env python import datetime from time import sleep now = datetime.datetime.now() sleep(2) late = datetime.datetime.now() constant = 2 diff = late-now if diff
#!/usr/bin/env python
import datetime
from time import sleep
now = datetime.datetime.now()
sleep(2)
late = datetime.datetime.now()
constant = 2
diff = late-now
if diff <= constant:
print "True time is less than 2min"
else:
print "Time exceeds 2 mins"
它给了我这个错误
ValueError: unconverted data remains: .838638
减去两个datetime实例将返回具有total_seconds方法的timedelta:
减去两个datetime实例将返回具有total_seconds方法的timedelta:
这只是更新的一个答案,因为sje397的答案是完美的 使用如下格式字符串匹配整个时间字符串:
nnow = datetime.strptime(now, '%Y-%m-%d %H:%M:%S.%f')
%f与点后的微秒相匹配。这是自Python 2.6以来的新版本。这只是对更新的回答,因为来自sje397的回答是完美的 使用如下格式字符串匹配整个时间字符串:
nnow = datetime.strptime(now, '%Y-%m-%d %H:%M:%S.%f')
%f与点后的微秒相匹配。这是自Python 2.6以来的新功能。您可以自己比较datetime对象:
from datetime import datetime, timedelta
ts = datetime.strptime("2011-12-16 16:14:50.838638Z", '%Y-%m-%d %H:%M:%S.%fZ')
ts += timedelta(minutes=2) # add 2 minutes
if datetime.utcnow() < ts:
print("time is less")
else:
print("time is more or equal")
您可以单独比较datetime对象:
from datetime import datetime, timedelta
ts = datetime.strptime("2011-12-16 16:14:50.838638Z", '%Y-%m-%d %H:%M:%S.%fZ')
ts += timedelta(minutes=2) # add 2 minutes
if datetime.utcnow() < ts:
print("time is less")
else:
print("time is more or equal")
diff是datetime.timedelta对象,它有.totalseconds方法或.seconds属性diff是datetime.timedelta对象,它有.totalseconds方法或.seconds属性不担心@Kristigitx…我只是最近在工作中经常使用它:不担心@Kristigitx…我只是最近在工作中经常使用它: