2016-09-08 3 views
0

私はチャットをしていますが、コメントaのタイムスタンプを追加しています。モーメントJSを使用したチャットアプリケーションのフォーマット時間

これは、イムはプッシャーとLaravel 5.2を使用してそれをやってどのようである:

channel.bind('App\\Events\\MessageSent', function(data){ 
    console.log(data); 
    $('#chat-box-message').empty(html); 
    for (var i = 0; i< data.length; i++) { 

     for (var key in data) { //empty the div for append does not repeat 
      var obj = data[key]; 
      for (var prop in obj) { 

       $('#chat-box-message').append(
        '<div class="comment">'+ 
        ' +obj[prop]['gamertag']+ 
        '<div class="metadata">'+ 
        + moment(obj[prop]['created_at']).format('h:mm:ss a') + 
        '</div>' 
       ); 
      } 
     } 
    } 
}); 

私はチャットで何かを入力すると、これは私が他のユーザーの画面から取得した結果です。私はそのコメントがなされたとき20:26だった私の現在の時刻であるとの時間を調整することができますどのように

My Comment with Date

私は、JSライブラリを使用しています。

さらに、コメントが5分前に投稿されたような、相対時間を表示することもできます。

+0

デフォルトでは、現時点で解析と表示が必要な場合は、['moment.utc()'](http://momentjs.com/docs/#/parsing/utc/)を使用してUTCまたは[moment-timezone](http://momentjs.com/timezone/)を使用して、モーメントオブジェクトを指定のタイムスタンプに変換します。ただし、相対時刻を表示するには[fromNow'](http://momentjs.com/docs/#/displaying/fromnow/)メソッドが必要です。 – VincenzoC

答えて

1

メッセージをブロードキャストするときは、現在の時刻を取得する必要があります。その後、メッセージdataのフィールドとして送信することができます。 「時間以降」を表示する場合は、Dateに時間を変換してから、メッセージ内の時刻を現時刻から減算する必要があります(hereを参照)。

関連する問題