2013-03-19 150 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)。