неверный вывод при поиске разницы во времени между двумя UNIX UTC время в Python - PullRequest
0 голосов
/ 19 февраля 2019

Я получаю сообщение-запрос от службы, которая имеет поле 'time' со значениями, такими как 1550556848042.Пример - {'object': 'page', 'entry': [{'id': '756686684', 'time': 1550556848042,....}]}

Время, указанное выше, выглядит как время в формате Unix в формате UTC. Теперь я хочу проверить, равно ли значение time, указанное выше, 2 минуты назад от текущего времени в формате UTC, а затем распечататьсообщение о том, что это more than 2 minutes ago еще печатать less than 2 minutes ago.

Я написал этот код, чтобы найти разницу во времени, но, похоже, это не возвращает текущую разницу во времени:

import datetime as datetime
import time

#data is the request json as in example above
message_time = data['entry'][0]['time']

message_current_utc_unix_time = int(time.time())
time_diff = int(message_current_utc_unix_time - message_time)
print('TIME DIFFERENCE BETWEEN MESSAGE TIME AND CURRENT TIME = {}'.format(time_diff))

Код выше возвращает time_diff в negative, и поэтому я не могу определить правильный синтаксис.Как я могу узнать, превышает ли значение time в моем запросе json более 2 минут назад, чем текущее время UTC?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Число не выглядит как секунды с начала эпохи.Это выглядит очень много, начиная с миллисекунд с той эпохи.Вы хотите

import datetime
import time

#data is the request json as in example above
message_time = data['entry'][0]['time'] / 1000   # notice divisor

message_current_utc_unix_time = int(time.time())
time_diff = int(message_current_utc_unix_time - message_time)
print('Time difference without shouting = {}'.format(time_diff))
0 голосов
/ 19 февраля 2019

Можете ли вы попробовать следующее:

import time
from datetime import datetime
data = {
    'object': 'page', 'entry': [{'id': '756686684', 'time': 1550556848.042, }]
}
if (time.time() - data['entry'][0]['time']) < (2 * 60):
    print('less than 2 minutes ago')
else:
    print('more than 2 minutes ago')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...