我需要将birdwatcher checkpoint api中的时间戳字段转换为当前的unix时间戳,我需要做什么计算。
我在文档中没有看到任何内容。
https://milvus.io/docs/birdwatcher_usage_guides.md
这个时间戳是 milvus 逻辑 ts 值,您可以通过以下逻辑将其转换为时间:
Milvus 时间戳 ts 需要稍微转换为 UNIX 格式。 您可以使用下面的这个功能。
const (
logicalBits = 18
logicalBitsMask = (1 << logicalBits) - 1
)
func ParseTS(ts uint64) (time.Time, uint64) {
logical := ts & logicalBitsMask
physical := ts >> logicalBits
physicalTime := time.Unix(int64(physical/1000), int64(physical)%1000*time.Millisecond.Nanoseconds())
return physicalTime, logical
}