2016-08-13 46 views
0

我正在使用firebase的數據庫來託管實時郵件網絡應用程序。我已經完成了基本的實現,但現在想爲用戶添加時間戳以查看消息何時發送。郵件的時間戳

要添加消息到聊天室,我使用firebase.push()並將值作爲發送的消息。我想我必須將其切換爲.update(),將該值作爲字段messagetime sent的對象。

我想弄清楚如何填充這個time sent。我聽說過firebase.database.ServerValue.TIMESTAMP,但從我可以告訴它很難改變成日期和時間。由於這很容易轉換,我正在考慮像這樣的一個unix時間戳var unix = Math.round(+new Date()/1000);

有任何經驗的人有任何提示我應該採取哪個方向?我不需要時間戳是超精確的,只需要日期,小時和分鐘。

回答

2

當您將firebase.database.ServerValue.TIMESTAMP寫入節點時,該值將成爲UNIX時間戳。見Firebase reference documentation爲例怎麼寫:

var sessionsRef = firebase.database().ref('sessions'); 
var mySessionRef = sessionsRef.push(); 
mySessionRef.update({ startedAt: firebase.database.ServerValue.TIMESTAMP }); 

當你閱讀值,您可以將其轉換回用Date對象:

sessionsRef.on('child_added', function(snapshot) { 
    var startedAt = new Date(snapshot.val().startedAt); 
}); 
+0

是一致的我可能會那麼最終使用這個。根據我的理解,這將在客戶端轉換爲當地時間,對嗎? – Bender