Я запрашиваю базу данных, чтобы получить дату и время, а затем пытаюсь преобразовать ее в временную метку unix. Вот часть моего кода:
#! /bin/python
import time, pytz
from datetime import datetime
eastern = pytz.timezone("US/Eastern")
def toUnix(dt):
#converts a datetime to a unix timestamp
return time.mktime(dt.timetuple())
def getFillStartTime(fillNo):
#returns the start time of a fill as a unix time stamp
dsacursor.execute('select startTime from fillInfo where fillNo = @fillNo',{'@fillNo':fillNo})
sel = dsacursor.fetchall()
dt = sel[0][0]
dt = dt.replace(tzinfo = eastern)
return toUnix(dt)
print getFillStartTime(20318)
Когда я запускаю его, я получаю AttributeError: replace
вот трассировка:
Traceback (most recent call last):
File "test.py", line 27, in <module>
print getFillStartTime(20318)
File "importToLogView.py", line 25, in getFillStartTime
dt = dt.replace(tzinfo = eastern)
AttributeError: replace
Я протестировал некоторые вещи и dt
типа DateTimeType
, когда он передается функции toUnix()
. Кроме того, когда я заменяю dt.timetuple()
на datetime.now().timetuple()
, он печатает ожидаемый результат. Я также пытался не заменять tzinfo, и вместо этого он дает AttributeError: timetuple
. Если это дата и время, почему возникает эта ошибка?
print type(dt)
послеdt = sel[0][0]
? - person David Cullen   schedule 31.07.2017