如何计算持续时间?

C_M*_*jor 18 javascript jquery jquery-mobile

我正在开发一个基于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);
 }
Run Code Online (Sandbox Code Playgroud)

Ser*_*gio 28

你的意思是这样的:

var date1 = new Date();
var date2 = new Date();
var diff = date2 - date1; //milliseconds interval
Run Code Online (Sandbox Code Playgroud)

UPD

检查JSFiddle


小智 12

更新:

如果要向用户显示时差,则会执行此操作.但如果它用于任何开发目的,下面的功能将使您的生活变得轻松.Serigo's method


只是想让您了解此控制台实用程序功能.

将此行放在应用初始化代码的顶部 console.time('appLifeTime');

把这个放在你觉得你的应用程序结束的地方. console.timeEnd('appLifeTime');

console.time('appLifeTime');

setTimeout(function delay(){
  console.timeEnd('appLifeTime');
}, 1500);
Run Code Online (Sandbox Code Playgroud)

上面的代码片段将打印出来appLifeTime: 1500.583ms.

AFAIK,console.time & console.timeEnd适用于firefox(带有firebug)和webkit浏览器(chrome,safari).


Igo*_*rev 7

我有这个函数来显示两个日期之间的时间距离:

export const timeDistance = (date1, date2) => {
  let distance = Math.abs(date1 - date2);
  const hours = Math.floor(distance / 3600000);
  distance -= hours * 3600000;
  const minutes = Math.floor(distance / 60000);
  distance -= minutes * 60000;
  const seconds = Math.floor(distance / 1000);
  return `${hours}:${('0' + minutes).slice(-2)}:${('0' + seconds).slice(-2)}`;
};
Run Code Online (Sandbox Code Playgroud)

小时格式的输出h:mm:ss可以任意增长。


kam*_*uel 5

要简单地测量经过的时间,请使用Date.getTime(),以输出自unix时代以来的毫秒数。

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

例:

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

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

输出当然是:(duration [ms] = 1500或几毫秒或更短)。


Gaj*_*res 1

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

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

您大约一分钟前打开了此页面。(每分钟都会更新。请稍等。)

该页面最后修改时间为 13 天前。

瑞安出生于 34 年前。