2016-11-05 10 views
0

Я получаю эту ошибку атрибута либо потому, что я импортирую модули, либо неправильно ссылаюсь на них.AttributeError: type object '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' не имеет атрибута '' указываете ей

Я изменил мой импорт до

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

, но я получаю - TypeError: «модуль» объект не вызываемая

Как я должен называть модули или что я должен использовать, чтобы ссылаться на них, благодаря

+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) (класс, который не имеет такого метода). Если вам нужно получить доступ к обоим, вам придется использовать один из них (например, «время импорта как время»). – jonrsharpe

+2

Я бы порекомендовал 'import time' и' import datetime как dt', тогда, если вам нужен доступ к 'datetime.timedelta', например, вы можете сделать' dt.timedelta'. –

ответ

0

вам не нужно импортировать Дата и время Просто сделайте это:

import time 
time.mktime(your_time) 

или

from time import mktime 
mktime(t) 

источник: https://www.tutorialspoint.com/python/time_mktime.htm

+1

За исключением того, что OP * * также хочет использовать функциональные возможности, открытые 'datetime'. – jonrsharpe