在 Java 和 Python 中使用相同的时间格式
use same time format in Java and Python
我有 2 个模块,第一个正在生成 ingestion_time
,如下所示
Long ingestion_time = System.currentTimeMillis();
这个 ingestion_time
的示例输出是
ingestion_time = 446453570778734
现在我在 python 中有了第二个模块,它为同一事件生成 detection_time,如下所示
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
您需要的是获取以毫秒为单位的时间。
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
已在 here
中找到此答案
您提供的价值
ingestion_time = 446453570778734
根本不正确(基于System.currentTimeMillis())
您需要做的就是将 python 日期乘以 1000
detection_time = 1524807106920 == System.currentTimeMillis()
我有 2 个模块,第一个正在生成 ingestion_time
,如下所示
Long ingestion_time = System.currentTimeMillis();
这个 ingestion_time
的示例输出是
ingestion_time = 446453570778734
现在我在 python 中有了第二个模块,它为同一事件生成 detection_time,如下所示
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
您需要的是获取以毫秒为单位的时间。
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
已在 here
中找到此答案您提供的价值
ingestion_time = 446453570778734
根本不正确(基于System.currentTimeMillis())
您需要做的就是将 python 日期乘以 1000
detection_time = 1524807106920 == System.currentTimeMillis()