использовать одинаковый формат времени в Java и Python - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть 2 модуля, первый генерирует ingestion_time, как показано ниже

Long ingestion_time = System.currentTimeMillis();

Пример вывода этого ingestion_time составляет

ingestion_time = 446453570778734

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

detection_time = time.time()

Пример выходных данных этого detection_time равен

Detection_time = 1524807106,92

Я хочу, чтобы они были в том же формате, чтобы я мог получить задержку как

latency =  detection_time - ingestion_time

Оба модуля находятся в одной системе.

Пожалуйста, помогите!


Редактировать 1

с помощью

now = long(time.time())
print "detection_time  = %s "%now

Я получаю detection_time как

detection_time  = 1524808352 

, который по-прежнему не сопоставим с generation_time, так как количество цифр отличается

generation_time = 1524808352170 

Ответ

с помощью приведенного ниже кода решил мою проблему

now = int(round(time.time() * 1000))
print "detection_time  = %s "%now

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Значение, которое вы предоставляете

ingestion_time = 446453570778734

просто не правильно (основано на System.currentTimeMillis ())

Все, что вам нужно сделать, это преобразовать дату питона, умножив ее на 1000

detection_time = 1524807106920 == System.currentTimeMillis()
0 голосов
/ 27 апреля 2018

То, что вам нужно, это получить время в милли-секундах.

import time
millis = int(round(time.time() * 1000))
print millis

Для повторного использования:

import time

current_milli_time = lambda: int(round(time.time() * 1000))

Тогда:

>>> current_milli_time()
1378761833768

Этот ответ был найден в здесь

...