Как решить проблему с 'datetime.datetime', у которого нет атрибута timedelta?

Как я могу решить эту проблему на Python. Вот мой код:

    import time
    import datetime
    from time import mktime
    from datetime import datetime

    date = '20120814174530'
    date_to_strp = time.strptime(date, '%Y%m%d%H%M%S') #convert the value of date into strptime
    date_final = datetime.fromtimestamp(mktime(date_to_strp))
    #convert date_to_strp so so i can use it to subtract a value from a timedelta later

    date_substracted = date_final - datetime.timedelta(hours = 36)

это ошибка:

type object 'datetime.datetime' has no attribute 'timedelta'

хотя я import datetime, я думаю, что это было переопределено from datetime import datetime, но когда я изменил положение mport datetimeи from datetime import datetime, ошибка:

'module' object has no attribute 'fromtimestamp'

Я могу исправить обе ошибки с помощью этого кода:

    import time
    from time import mktime
    from datetime import datetime

    date = '20120814174530'
    date_to_strp = time.strptime(date, '%Y%m%d%H%M%S')
    date_final = datetime.fromtimestamp(mktime(date_to_strp))

    import datetime

    date_substracted = date_final - datetime.timedelta(hours = 36)

Теперь, с этим кодом, он работает правильно, но я хочу, чтобы вся часть импорта была наверху, как хорошая практика, любое предложение о том, как я это сделаю без каких-либо ошибок в этой ситуации, или любое предложение о том, как я буду закодируйте его по-другому.

15
задан kenorb 8 January 2016 в 21:34
поделиться