【问题标题】:Getting Elapsed Time in JS在 JS 中获取经过的时间
【发布时间】:2013-11-30 15:32:11
【问题描述】:

Fiddle

我正在制作一个社交网络,当你发布一些东西时,我想显示时间。我有显示时间的当前代码(这不仅是时间,它还验证和发布文本):

$('#b').click(function () {
    var v = $('#type').val();
    var u = $('#input').val();
    if (v !== "" && u !== ""){
        var time = new Date();
        var currentime = Date.now();
        var x = currentime - time;
        $("ul").prepend("<li>" + v + "<br />Posted by " + u + " " + x +" minutes ago  </li>");
        $('#type, #input').css('border','');
    }
    else if (v == "" && u == "") {
        $('#type, #input').css('border','1px solid red');
    }
    else if (v == "") {
        $('#type').css('border','1px solid red');
        $('#input').css('border','');
    }
    else {
        $('#input').css('border','1px solid red');
        $('#type').css('border','');
    }
});

当时间发布时,它会显示 0 分钟前(就像我告诉它的那样),但经过任何时间后,它仍然显示 0。

【问题讨论】:

  • 你更新过时间指示器吗?
  • @n.st 你什么意思?你的意思是使用jQuery $().now() 方法吗?
  • 您可能需要使用setInterval(...) 来更新时间。
  • @Robb 您能否提供答案或一些示例代码?我对setInterval()不是很熟悉

标签: javascript jquery time elapsedtime


【解决方案1】:

fiddle

基本上你设置了一个setInterval 来管理你是否经常更新你的时间属性。我使用了 span.time 类,所以理论上你可以随时间更新任何东西。

我会进一步对您的帖子进行哈希处理,以便您轻松检索每个帖子的原始时间。

编辑:添加了一个新的小提琴。

【讨论】:

  • 发表于 1385863066491 分钟前?
  • 它显示了一个很长的数字。我如何将其转换为分钟?
  • 它只是从纪元返回毫秒。默认行为。您可以获取秒数或分钟数。
  • @Robb 从 0 分钟跳到 7 分钟?我认为这还没有奏效
猜你喜欢
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 2017-07-16
  • 2015-10-20
  • 1970-01-01
相关资源
最近更新 更多