根據檔案,下面的代碼可以在實時資料庫中使用 push() 將時間戳設定為節點的鍵。
public void uploadToDB(String s) {
databaseReference.push().setValue(s);
}
回傳的密鑰在我的 push() 下方,例如:a) -MpfCu14jtIkEk28D3CB b) -MpfCxv_Nzv3YJ87MfZH
我的問題是:
- 他們是時間戳嗎?
- 如果是,我可以將其解碼回可讀的時間戳嗎?
uj5u.com熱心網友回復:
- 他們是時間戳嗎?
不,那些推送的 ID 不是時間戳。但是,它包含一個時間組件。
正如 Michael Lehenbauer 在這篇博客文章中提到的:
推送 ID 是客戶端生成的字串識別符號。它們是時間戳和一些隨機位的組合。時間戳確保它們按時間順序排列,隨機位確保每個 ID 都是唯一的,即使有數千人同時創建推送 ID。
并回答第二個問題:
- 如果是,我可以將其解碼回可讀的時間戳嗎?
如果你逆向工程,可能是的。請檢查以下答案:
- Firebase ID 是如何生成的?
但不會指望那個。要根據時間組件進行排序,那么您應該添加一個“時間戳”型別的屬性,如我在以下帖子中的回答中所述:
- 向 Firebase 實時資料庫添加新值時如何保存當前日期/時間
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/369200.html
