2013-03-19 2 views
9

Pracuję nad aplikacją opartą na sieci Web, aby przechwycić czas rozpoczęcia i czas zakończenia od daty systemowej, ale moim głównym problemem jest to, że nie wiem, w jaki sposób mogę uzyskać czas trwania, od początku do końca czasu przestoju.Jak obliczyć czas trwania?

//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); 
} 

Odpowiedz

1

Użyj tego ładne jQuery plugin: http://timeago.yarp.com/

Timeago jest jQuery plugin, który sprawia, że ​​łatwo obsługiwać automatycznie aktualizowania rozmytych znaczników czasu (np "4 minuty temu" lub "około 1 dni temu"). Pobierz, zobacz przykłady i ciesz się.

Otworzyłeś tę stronę około minuty temu. (Ta aktualizacja będzie aktualizowana co minutę

Ta strona została ostatnio zmodyfikowana 13 dni temu.

Ryan urodził się 34 lata temu.

4

Aby po prostu zmierzyć czas, użyj Date.getTime(), który wyświetla bieżący czas w milisekundach od epoki unix.

Można odjąć jedną wartość miliona od innej, aby uzyskać czas trwania.

przykład:

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

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

wyjściowy będzie oczywiście: duration [ms] = 1500 (lub kilka ms mniej lub więcej).

19

Czy oznacza to:

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

UPD

check JSFiddle

+0

Tak, ale czy będę w stanie uzyskać czas, który rozpocznie się od początku przestoju, który będzie się liczył aż do zakończenia przestojów? Za pomocą swojej metody? –

+1

naprawdę nie dostaję tego, czego potrzebujesz, ale dodałeś link do JSFiddle, mam nadzieję, że to ci pomoże – Sergio

9

Aktualizacja:

Jeśli chcesz zobaczyć różnicę czasu do użytkownika, Serigo'smethod zrobię to. Ale jeśli jest to do celów rozwojowych, poniższe funkcje ułatwią Ci życie.


Po prostu chciałem poinformować Cię o funkcjach narzędzia konsoli.

Umieść tę linię w górnej części aplikacji kodzie inicjującym console.time('appLifeTime');

umieścić ten jeden w którym kiedykolwiek czujesz, że Twoja aplikacja kończy. console.timeEnd('appLifeTime');

console.time('appLifeTime'); 

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

Powyższy kawałek kodu wypisze, appLifeTime: 1500.583ms.

AFAIK, console.time & console.timeEnd działa w firefoxie (z firebug) & przeglądarkach webkit (chrome, safari).