【问题标题】:How to count up time in javascript (maybe with jquery)如何在javascript中计算时间(也许用jquery)
【发布时间】:2012-06-21 18:25:27
【问题描述】:

在我的应用程序上,我有一个命令:

@uptime = 'uprecords -s | awk '{ print $5 }'

从计算机返回当前正常运行时间(使用正常运行时间)。
它返回类似于 01:00:00(小时、分钟、秒)的内容,我想计算一下这个时间。
我怎么做?我尝试了一些count up jquery plugins,但没有一个像我想要的那样工作 你们是怎么算的?
提前致谢

编辑
我觉得我不够清楚
我想要的是从我的服务器(已经完成)捕获这个正常运行时间,并通过 javascript,使其动态地计算这个当前正常运行时间,所以如果用户离开键盘,例如,正常运行时间仍然会增加

【问题讨论】:

  • “计数”如“解析到秒”? “加起来”?还有什么?
  • 如果您想将时间转换为秒,this question 是完全重复的。但是,我不完全确定转换为秒是否是您想要的;请澄清您的问题。
  • 您想使用 JavaScript 来获取 计算机的 正常运行时间吗?
  • @minitech 我没有...@apsillers 我想要的是这样的:bloke.com/javascript/Countup

标签: javascript jquery uptime


【解决方案1】:

你可以使用setInterval:

var seconds = 2642; // uptime in seconds
var timer = setInterval(
    function() {
        seconds++;
    }, 1000
);

另外,请参阅this reference on JS time functions

【讨论】:

  • 我明白了;当窗口失去焦点时,setInterval 的行为似乎很奇怪。如果这是您的问题,那么我想您每次窗口重新获得焦点时都需要使用 Ajax 从服务器重新获取时间。对于简单的 Ajax 调用,请参阅microjs.com/#ajax。如果您需要显示时间,则需要 DOM 操作 - 请参阅 microjs.com/#dom
  • 不,这不是我的问题...我的问题是我想让正常运行时间动态...我认为 ajax 调用不是一个好主意
  • 动态是什么意思?使用 setInterval is 动态增加它 - 一秒总是一秒,或多或少。前一秒您的正常运行时间将是 8000 秒,下一秒将是 8001、8002 等。如果您需要在页面上显示它以便每秒更新,请参阅我关于 DOM 操作的评论 - 即编辑页面上的元素。
  • JS date and time functions上查看此参考资料。
【解决方案2】:

我做过这样的事情(丑陋):

  function atualizarTimer() {
    //span.uptimed is a string like 01:23:45
    var time = $('span.uptimed').text();
    var d = new Date();
    times = time.split(':');
    d.setHours(times[0]);
    d.setMinutes(times[1]);
    d.setSeconds(times[2]);
    d.setSeconds(d.getSeconds()+1);

    document.getElementById("uptimed").innerHTML = d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 2010-09-13
    • 2011-01-14
    • 1970-01-01
    相关资源
    最近更新 更多