2016-11-05 45 views
0

我收到此属性错误,因为我导入模块或不正确地引用它们。AttributeError:类型对象的'datetime.time'没有属性'mktime'

from datetime import date, timedelta, datetime, time, tzinfo 

def utc2local (utc): 
    epoch = time.mktime(utc.timetuple()) 
    offset = datetime.fromtimestamp (epoch) - datetime.utcfromtimestamp (epoch) 
    return utc + offset 

通过

(utc2local(rise), utc2local(set)) 

叫这给了我 - AttributeError的:对象类型 'datetime.time' 有没有属性 'mktime'

我已经改变我的进口到

import time 
from datetime import date, timedelta, datetime, tzinfo 

,但我得到 - 类型错误:“模块”对象不是可调用

我应该怎样来调用模块或什么,我应该使用引用他们,感谢

+1

使用预定义的'set'关键字不会帮助我打赌...我们需要一个[mcve]&stacktrace BTW。 –

+1

您似乎混淆了['time'](https://docs.python.org/3/library/time.html)(具有'mktime'函数的模块)和['datetime.time']( https://docs.python.org/3/library/datetime.html#datetime.time)(没有这种方法的类)。如果您需要同时访问这两个文件,则必须使用别名(例如'import time as time_')。 – jonrsharpe

+2

我建议'import time'和'import datetime as dt',然后如果你需要访问'datetime.timedelta',例如,你可以做'dt.timedelta'。 –

回答

相关问题