我需要使用 for 循环查找表上日期/时间 TrackLogs 之间的时间差。trackLog 条目采用以下格式:
2013-08-02T14:30:10Z
我需要考虑到“for”循环在尝试计算第一个 timediff 时会失败。因为第一个日志没有前面的条目来执行计算。因此,我需要包含一个“if”语句(带有布尔值)以允许脚本在找到第一个日志时运行。
这是我到目前为止所得到的:
for row in cur:
period=row.tracklogs
year=period[0:4]
month=period[6:7]
day=period[8:10]
hour=period[11:13]
minut=period[14:16]
second=period[17:19]
print period
firstline="yes"
if firstline=="yes":
prev_period=row.tracklogs
prev_coord=row.shape
firstline="no"
else:
new_period=row.tracklogs
new_coord=row.shape
period1=datetime.datetime(int(prev_period))
period2=datetime.datetime(int(new_period))
timediff=(a2-a1).seconds
print timediff
我想我需要一个整数来进行 datetime 操作,但后来我遇到了以下异常:
line 36, in <module>
tid1=datetime.datetime(int(tidl_tid))
ValueError: invalid literal for int() with base 10: '2009-05-19T11:51:47Z'
我知道我做错了什么,但不知道是什么。任何帮助我表示赞赏。