我正在开发一个基于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);
}
答案 0 :(得分:28)
你的意思是:
var date1 = new Date();
var date2 = new Date();
var diff = date2 - date1; //milliseconds interval
<强> UPD 强>
检查JSFiddle
答案 1 :(得分:12)
更新:
如果您想向用户显示时差,Serigo's
method
会执行此操作。但是,如果它用于任何开发目的,下面的功能将使您的生活变得轻松。
只是想让您了解此控制台实用程序功能。
将此行放在应用初始化代码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(使用firebug)&amp; webkit浏览器(chrome,safari)。
答案 2 :(得分:4)
要简单地测量经过的时间,请使用Date.getTime()
输出自unix时期以来的当前时间(以毫秒为单位)。
您可以从另一个中减去一个毫秒值以获得持续时间。
示例:
var startTime = new Date().getTime();
setTimeout(function () {
var endTime = new Date().getTime();
console.log("duration [ms] = " + (endTime-startTime));
}, 1500);
输出当然是:duration [ms] = 1500
(或者少于或多于几毫秒)。
答案 3 :(得分:1)
使用这个漂亮的jQuery插件:http://timeago.yarp.com/
Timeago是一个jQuery插件,可以轻松自动支持 更新模糊时间戳(例如&#34; 4分钟前&#34;或&#34;约1天前&#34;)。 下载,查看示例,然后享受。
大约一分钟前你打开了这个页面。 (这会更新每一个 分钟。等等。)
此页面最后修改于13天前。
莱恩出生于34年前。
答案 4 :(得分:1)
我具有此功能来显示两个日期之间的时间距离:
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)}`;
};
h:mm:ss
小时格式的输出可以任意增加。