是的,这应该是一个编程101类型的问题,但我似乎已经让自己陷入了一个又一个的兔子洞。
我有一个数据对象,其时间戳为iso格式。所以它看起来像这样:“2013-09-19T21:37:04Z”
我需要确定过去的时间戳是否少于30分钟。
我尝试过这样的事情:
timeStamp="2013-09-19T21:37:04Z"
now=datetime.datetime.now()
age=now-timeStamp
if age < (30*60)
doStuff()
加上一堆变种。但我认为我正在努力完成一项简单的任务。
如何判断时间戳是否超过30分钟?
答案 0 :(得分:3)
您必须先将timeStamp转换为日期时间对象。
timeStamp="2013-09-19T21:37:04Z"
timeStamp_dt = datetime.datetime.strptime(timeStamp, '%Y-%m-%dT%H:%M:%SZ')
now = datetime.datetime.now()
age = now - timeStamp_dt
if age < datetime.timedelta(minutes=30):
doStuff()
这不会考虑时区。也许它可以改进。
答案 1 :(得分:0)
您也可以使用time.clock。
start = time.clock()
#... some steps
if time.clock() - start < 30 * 60:
doStuff()
因为你需要使用日期时间;这个应该工作:
start = datetime.datetime.now()
#...some steps
if ((datetime.now() - start).seconds < 30 * 60:
doStuff()