计算两次的差值

Calculate the difference from 2 times

本文关键字:两次 计算      更新时间:2024-06-11

今天我开始做一些有时间的事情。

我有两次。从现在开始的时间,如10:10:15,日期为2015年2月27日10:05:10。

所以对于这个例子,我需要00:05:05,但我不知道如何解决这个问题,我已经搜索了几个小时了。

以下是如何跨浏览器可靠地将时间字符串解析到Date实例中(即使它不在规范中):

var dt = new Date("01/01/2015 " + timeString);

或者,如果你想在规范中这样做(但这在旧的浏览器上不起作用,因为规范只在ES5中添加了这个):

var dt = new Date("2015-01-01T" + timeString + "Z");
dt = new Date(dt.getTime() + (dt.getTimezoneOffset() * 60 * 1000));

在这两种情况下,输入字符串的时间都假定为本地时间(这就是我们进行时区调整的原因)。(我们需要字符串上的"Z",因为ES5规范中有一个"大错误",并说离开时区意味着GMT,而在ISO-8601(该格式基于ISO-8601)中,离开时区意味意味着本地时间。ES6规范修复了这一点,但这意味着现在,一些引擎做一件事,其他引擎做另一件事。)

以下是如何从Date实例中获取午夜后的分钟数:

var minutes = dt.getHours() * 60 + dt.getMinutes();

从那里,它是减法(从另一个日期减去一个日期自午夜以来的分钟)、除法(/运算符,得到小时)和余数(%运算符,得到一小时内的分钟)。:-)

或者,您可以使用MomentJS这样的库来为您完成工作。但以上内容并不多。