2016-11-20 4 views
0

Как бы преобразовать результат из strptime в целочисленное значение или значение, которое может использоваться date.date()?Как преобразовать time.strptime в целое число для datatime.date() Python 2

convertTOdate = time.strptime('2007-07-18 10:03:19', '%Y-%m-%d %H:%M:%S') 

duedate = datetime.datetime(convertTOdate) 

Решение по StackOverflow было сделать:

Используйте time.mktime() для преобразования времени кортеж (в МестноеВремя) в секундах с начала эпохи, а затем использовать datetime.fromtimestamp(), чтобы получить datetime.

from time import mktime 
from datetime import datetime 

dt = datetime.fromtimestamp(mktime(struct)) 

Я не хочу, чтобы получить местное время, как это не будет работать с моей функцией

Я использую Python 2

Спасибо

ответ

0

Вы можете использовать следующий подход.

from datetime import datetime 

def time_in_seconds(dt): 
    epoch = datetime.utcfromtimestamp(0) 
    delta = dt - epoch 
    return delta.total_seconds() 

convertTOdate = datetime.strptime('2007-07-18 10:03:19', '%Y-%m-%d %H:%M:%S') 
duedate = time_in_seconds(convertTOdate) 

возвращает 1184752999.0 что эквивалентно 2007-07-18 10:03:19

duedate = datetime.utcfromtimestamp(duedate) 
print duedate 

Только помните, перед использованием следующих двух:

fromtimestamp дать вам дату и время в местное время и utcfromtimestamp дает вам дату и время в UTC.

+0

Hi, спасибо. Я пытаюсь получить время date.date() для преобразования в UCT без каких-либо ссылок на местное время. Я использую свою собственную эпоху. Мне придется вручную убрать значения в dict, а затем поместить их в функцию datetime. Когда я закончу, я отправлю его на этот вопрос. еще раз спасибо @WasiAhmad –

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

  • Нет связанных вопросов^_^