2016-08-13 5 views
0

firebaseのデータベースを使用してリアルタイムのメッセージングWebアプリケーションをホストしています。私は基本的な実装を終えましたが、メッセージがいつ送信されたかをユーザーが確認できるようにタイムスタンプを追加します。メッセージのタイムスタンプ

チャットルームにメッセージを追加するには、firebase.push()に送信メッセージの値を使用します。私はこれをフィールドmessagetime sentを持つオブジェクトとして値.update()に切り替える必要があると思います。

これを移植する方法を理解しようとしています。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

関連する問題