Python 箭头毫秒

Python Arrow milliseconds

我想弄清楚一件简单的事情 - 如何将 arrow.Arrow 对象转换为毫秒。我正在阅读 但我仍然不清楚如何以毫秒为单位获得一个长数字。

我想要这样的东西:

def get_millis(time: arrow.Arrow):
     ... some magic goes here ...


print(get_millis(time))     
OUTPUT: 
1518129553227 

谢谢

这是一个不雅的答案:从您的链接问题中,您可以将毫秒作为字符串获取,然后将它们添加到时间戳中:

import arrow
now = arrow.utcnow()
s = now.timestamp
ms = int(now.format("SSS"))
print(s * 1000 + ms)

打印:

1518131043594
import arrow


def get_millis(time):
    return time.timestamp * 1000 + time.microsecond / 1000


print(get_millis(arrow.now()))

您要查找的 属性 基本上是

float_timestamp

例如

now_millisecs = round(arrow.utcnow().float_timestamp, 3)
now_microsecs = round(arrow.utcnow().float_timestamp, 6)

如果你不喜欢浮点数,你可以从这里使用:

str(now_millisecs).replace('.', '')

我个人保留浮点表示是为了视觉上的方便和易于计算(比较等)。

您也可以格式化为 ms official docs,然后解析为 int 并切割成您需要的长度。

int(arrow.utcnow().format("x")[:13])

这里有一个可读的方式:

import arrow

def get_millis():
    return int(arrow.utcnow().timestamp() * 1000)