2013-03-19 154 views
9

我正在开发一个基于Web的应用程序来捕获系统日期时间的开始时间和结束时间,但我的主要问题是我不知道如何获得停机时间的开始和结束时间。如何计算持续时间?

//Function to get current start time 
    var startTime = setInterval(function() { start() }, 1000); 

    function start() { 
    var startDate = new Date(); 
    var timeStart = startDate.toLocaleTimeString(); 
    $("#setCount").html(timeStart); 
} 

回答

1

使用这个漂亮的jQuery插件:http://timeago.yarp.com/

TIMEAGO是一个jQuery插件,可以方便支持自动 更新模糊时间戳(例如,“5分钟前”或“大约1天前” )。 下载,查看示例,并享受。

大约一分钟前你打开此页面。 (这将每隔 分钟更新一次。等待它。)

此页面最近一次修改是13天前。

瑞恩34年前出生。

4

要简单地测量流逝的时间,请使用Date.getTime(),它输出当前时间(以毫秒为单位),表示unix时期以来的时间。

您可以减去另一个millis值来获得持续时间。

实施例:

var startTime = new Date().getTime(); 

setTimeout(function() { 
    var endTime = new Date().getTime(); 
    console.log("duration [ms] = " + (endTime-startTime)); 
}, 1500); 

输出将是当然的,:duration [ms] = 1500(或耦合毫秒更少或更多)。

19

你的意思是这样的:

var date1 = new Date(); 
var date2 = new Date(); 
var diff = date2 - date1; //milliseconds interval 

UPD

检查JSFiddle

+0

是的男人,但我可以得到的时间,将从停机时间开始,将继续计数,直到停机时间结束?使用你的方法? – 2013-03-19 07:35:09

+1

并不真正得到你需要的东西,但添加了JSFiddle的链接,希望它能帮助你 – Sergio 2013-03-19 07:43:31

9

更新:

如果你想显示的时间差,以用户,Serigo'smethod会做的。但如果它是用于任何开发目的,以下功能将使您的生活变得轻松。


只是想让你知道这个控制台实用功能。

任何你觉得你的应用程序结束把这一行在将这个一个你的应用程序的初始化代码console.time('appLifeTime');

顶在。 console.timeEnd('appLifeTime');

console.time('appLifeTime'); 

setTimeout(function delay(){ 
    console.timeEnd('appLifeTime'); 
}, 1500); 

上面的代码块将打印,appLifeTime: 1500.583ms

AFAIK,console.time & console.timeEnd在firefox中工作(与萤火虫)& webkit浏览器(铬,safari)。