首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript:计算ajax响应的持续时间

问Javascript:计算ajax响应的持续时间
EN

Stack Overflow用户
提问于 2020-07-17 21:11:52
回答 3查看 69关注 0票数 0

我正在尝试计算任务的持续时间,这是我从ajax响应中获得的。

以下是我的表值:

代码语言:javascript
复制
 Jobid   techid, techtype,    notes,                            starttime,             stoptime
    1      1     Brakes       Break disc needed to be changed   2020-07-16 13:00:00   2020-07-16 13:40:00
    1      2     Oil Change   Replaced oil                      2020-07-17 08:00:00   2020-07-17 09:00:00
    1      3     Cleaning     Cleaned the vehicle               2020-07-17 10:00:00   2020-07-17 10:30:00

在我的ajax响应中,在上面的例子中,我得到了3个对象,每个对象都有开始时间和停止时间。我想以小时和分钟为单位计算总时间。

有没有简单的方法来计算总持续时间?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-17 21:16:20

您可以简单地使用Date构造一个日期,然后从结束时间减去开始时间。

在这里,我使用getTime得到毫秒差,除以1000得到秒,再除以60得到分钟。

如果你有更大的不同,你也可以使用getMonth等。

​

代码语言:javascript
复制
const starttime = '2020-07-16 13:00:00'   
const stoptime = '2020-07-16 13:40:00'

const duration = new Date(stoptime) - new Date(starttime)
console.log(duration / 1000 / 60)

​

票数 1
EN

Stack Overflow用户

发布于 2020-07-17 21:16:32

使用像2020-07-16 13:00:00这样的字符串,您可以构造一个JS Date,并使用getTime()获得自UNIX时代以来的毫秒数,如下所示

代码语言:javascript
复制
new Date('2020-07-16 13:00:00').getTime()

或者,如果您愿意,正如@Yousaf在注释中指出的那样,您实际上可以直接对Dates使用-运算符,并获得毫秒差

代码语言:javascript
复制
// resolves to 3600000, or 1 hour in milliseconds
new Date('2020-07-16 13:00:00') - new Date('2020-07-16 12:00:00') 

使用它,您可以获得任意两个日期之间的毫秒差,并使用简单的算法将其转换为小时/分钟/任何值。

票数 2
EN

Stack Overflow用户

发布于 2020-07-17 21:20:59

更新

我认为你可以检查这个answer,但基本上你应该将每个日期转换成js日期,得到毫秒数,然后计算endtime - startime。

const timelapse =新日期(结束时间).getTime()-新日期(开始时间).getTime();

在此基础上,将其转换为所需的单位(例如:秒=毫秒/1000);

对不起,我写得太快了。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62954732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档