亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Instagram 媒體 ID 到時間戳的轉換

Instagram 媒體 ID 到時間戳的轉換

Go
拉莫斯之舞 2022-06-27 15:23:49
Instagram 在這篇博文中解釋了他們如何創建媒體 IDhttps://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c我們的每個 ID 包含: 41 位以毫秒為單位的時間(給我們 41 年的 ID 和自定義紀元) 13 位表示邏輯分片 ID 10 位表示自動遞增序列,模數 1024。這意味著我們可以每個分片每毫秒生成 1024 個 ID。我們的“時代”從 2011 年 1 月 1 日開始,不確定這是實際的產值還是僅用于示例如何從媒體 ID 取回時間戳?我有這兩個媒體 ID,我知道時間戳,但我需要從其他人那里提取它2384288897814875714 2020-08-26T13:43:27Z2383568809444681765 2020-08-25T13:52:46Z
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊



package main


import (

    "fmt"

    "time"

)


const (

    instaEpoch int64 = 1314220021721

    mediaID int64 = 2384288897814875714

)


func main()  {

    extractedTimestamp := mediaID >> (64-41)

    timeFromMediaID := extractedTimestamp + instaEpoch

    fmt.Println(time.Unix(timeFromMediaID/1000,0).UTC())

}

輸出:


2020-08-26 13:43:27 +0000 UTC

您可以右移 id 以獲取時間戳。然后你必須將毫秒添加到 instagram 正在使用的時代。


查看完整回答
反對 回復 2022-06-27
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號