【问题标题】:Format time in Chat Application using Moment JS使用 Moment JS 在聊天应用程序中格式化时间
【发布时间】:2016-09-08 00:30:26
【问题描述】:

我有一个聊天,我正在为发表评论 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>'
                );
            }
        }
    }
});

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

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

我正在使用moment JS库。

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

【问题讨论】:

  • 默认情况下,moment 解析并显示为本地时间,如果需要,您可以使用moment.utc() 使用UTC 或moment-timezone 将您的moment 对象转换为给定的时间戳。注意 moment 有 fromNow 方法来显示相对时间。

标签: javascript laravel time momentjs pusher


【解决方案1】:

当你广播消息时,你应该得到当前时间。然后您可以将其作为消息data 中的字段发送。如果您想显示“时间自”,则必须将时间转换为 Date(如果还没有),然后从当前时间中减去消息中的时间,如 here 所述.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多