Вычесть время эпохи из datatime.datatime.now

Меня попросили получить значение ключа из JSON на определенном веб-сайте и вычесть это значение из .now (это дата истечения срока действия).

Я делаю это, используя requests.get, а также json.load. Моя проблема: значение, которое я получаю, - это время эпохи, а datetime.datetime.now - нет.

Как проще всего добраться до (datetime.datetime.now - my key(epoch value))? См. значения на скриншоте ниже. Я пытался преобразовать эпоху в «человеческую дату», а затем сделать с ней вычитание, но нет.

см. оба значения здесь datetime.datetime.now сверху и эпоху из json снизу

EDIT: это может не быть дубликатом, потому что он запрашивает обработку отметки времени и требует количество секунд между этой отметкой времени и сейчас.


person Max P    schedule 14.08.2017    source источник
comment
Это может не быть дубликатом, потому что он запрашивает обработку отметки времени и требует количество секунд между этой отметкой времени и сейчас .   -  person Bill Bell    schedule 18.08.2017


Ответы (2)


Ты сказал проще всего. Когда используется отметка времени, подумайте о библиотеке стрелки.

>>> time_string = '2017-08-14 11:52:09.145000'
>>> import arrow
>>> time_diff = arrow.now()-arrow.get(time_string)
>>> time_diff.total_seconds()
17604.346025
person Bill Bell    schedule 14.08.2017
comment
Спасибо! это действительно намного проще! исправил мою проблему1 - person Max P; 18.08.2017
comment
Хорошо! Всегда пожалуйста. - person Bill Bell; 18.08.2017

Используйте модуль python dateutil, чтобы преобразовать значение эпохи в дату, а затем просто вычтите их, например:

diff = datetime.now() - my_date

Вы также можете использовать класс relativedelta, если хотите получить выходные данные в виде количества дней, месяцы, годы и т.

person Momus    schedule 14.08.2017