为什么我的javascript时间字符串需要页面刷新才能更改?

时间:2015-02-20 13:34:59

标签: javascript jquery datetime meteor

我使用以下代码使用Meteor框架在单页面上实时设置用户的消息时间

var now = new Date();
var h = now.getHours();
var m = now.getMinutes();
var s = now.getSeconds();

var time = h + ":" + m + ':' + s;

Messages.insert({
                    name: name,
                    message: message.value,
                    time : time
                });

但是零时间不完整,除非页面刷新,否则不会改变:

  • Matt at 14:4:51:fdsfd
  • Matt at 14:4:51:fdsfds

这有什么问题?您可以自己在http://hlavackachat.meteor.com/

看到

1 个答案:

答案 0 :(得分:0)

尝试

var TimeAddZero = function(_time)
{
    if(_time < 10)
    {
        _time = '0'+_time;
    }

    return _time;
};

var GetHHMMSS = function(_seconds)
{
    var hours = Math.floor(_seconds / 3600);
    var seconds = _seconds % 3600;
    var minutes = Math.floor(seconds / 60);
    seconds = seconds % 60;
    hours = TimeAddZero(hours);
    minutes = TimeAddZero(minutes);
    seconds = TimeAddZero(seconds);
    return hours+':'+minutes+':'+seconds;
};

Messages.insert({
                    name: name,
                    message: message.value,
                    time : GetHHMMSS(Math.round(+new Date()/1000))
                });