目前,Google版本的ServerValue.TIMESTAMP
返回{".sv":"timestamp"}
,將Firebase數據保存到Firebase服務器後,將其作爲Firebase的指令使用服務器時間戳填充該字段。如何使用Firebase服務器時間戳生成創建的日期?
但是,當您在客戶端創建數據時,您還沒有實際的時間戳可供使用(即用作創建日期)。在初始保存和隨後的檢索之後,您只能訪問時間戳,我想 - 這有時爲時已晚,不夠優雅。
谷歌前:
更新:忽略這一部分,因爲它是不正確 - 我誤解的例子。 ServerValue.TIMESTAMP
總是返回{".sv":"timestamp"}
。
至於我前谷歌火力地堡的理解似乎有一個服務器生成的時間戳可用,允許你獲得實際的時間戳:
import com.firebase.client.ServerValue;
ServerValue.TIMESTAMP // eg. 1466094046
問題:
- 這樣的保存/檢索是獲得我的模型實例上服務器生成的創建日期的唯一方法嗎?
- 如果是,你可以提出一種實現這種模式的方法嗎?
- 我的理解是否正確ServerValue.TIMESTAMP隨着Google收購Firebase而改變? 更新:不,@FrankvanPuffelen回覆說,在收購過程中沒有任何變化。
注:
我不是在客戶端使用new Date()
,因爲我一直在閱讀它不是安全的,但請分享您的想法,如果你認爲不同的考慮。
* firebaser here *自從我們加入Google後,我們生成'ServerValue.TIMESTAMP'的方式沒有任何變化。以前工作的代碼將繼續工作。如果您的代碼無法正常工作,請將重現問題的最小代碼添加到您的問題中。 –
@FrankvanPuffelen我誤解了舊的例子,謝謝。 'ServerValue.TIMESTAMP'總是返回'{「.sv」:「timestamp」}'。我不是指那些不起作用的代碼,只是關於如何正確使用服務器時間戳來處理*日期創建的理論問題* – Voy