使用Moment JS在聊天应用程序中格式化时间

时间:2016-09-08 00:30:26

标签: javascript laravel time momentjs pusher

我有一个聊天,我正在为评论a添加时间戳。

这就是我使用Pusher和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>'
                );
            }
        }
    }
});

当我在聊天中输入内容时,这是我从其他用户屏幕中获得的结果。

My Comment with Date

如何将时间调整为当前时间,即发表评论时的下午8:26。

我正在使用JS Library。

或者甚至更好,显示相对时间,比如评论是在5分钟前发布的。

1 个答案:

答案 0 :(得分:1)

当您广播消息时,您应该获得当前时间。然后,您可以将其作为消息data中的字段发送。如果您想要显示&#34;自&#34;以来的时间,您必须将时间转换为Date(如果它还没有),然后从消息中减去时间当前时间,如here所述。