2014-09-17 2 views
0

Я написал функцию на python, которая принимает временную метку и возвращает временную метку w.r.t в текущий часовой пояс.Ошибка Python: неподдерживаемый тип операндов для +: 'int' и 'datetime.timedelta'

Код

def datetime_from_utc_to_local(utc_datetime): 
    now_timestamp = time.time() 
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp) 
    return utc_datetime + offset 

Ошибка:

unsupported operand type(s) for +: 'int' and 'datetime.timedelta' 

Можете ли вы помочь мне исправить эту ошибку.

Я хочу эту функцию, чтобы вернуть метку времени

+0

'utc_datetime' должно быть' datetime'? Ошибка говорит, что это 'int'. –

ответ

7

offset является datetime.timedelta object. Если вам нужны всего лишь секунды, извлечь их timedelta.total_seconds():

return utc_datetime + offset.total_seconds() 

Вашей сигнатуры однако, предположить, что он ожидал, что вы кормить его на datetime.datetime() объектом, в этом случае вы не должны изменять эту функцию, но код, который его вызывает. Очевидно, вы даете ему целое число.

Смежные вопросы