【发布时间】:2014-07-17 12:54:17
【问题描述】:
我想计算两次之间的差。
时间格式为Intime="00:05:53"和Outtime="00:17:31"
我尝试了下面的代码,但得到的结果类似于totalhours="00:-12:22".
而不是totalhours="00:11:38"。我究竟做错了什么?我该如何解决这个问题?
var inhh=0;
var inmm=0;
var inss=0;
var outhh=0;
var outmm=0;
var outss=0;
var inTime = document.getElementById("intime").value;
var outTime = document.getElementById("outtime").value;
var intimeAarry=inTime.split(":");
inhh= parseInt(intimeAarry[0]);
inmm=parseInt(intimeAarry[1]);
inss=parseInt(intimeAarry[2]);
if (inss > 60) {
inmm = inmm + 1;
inss = inss % 60;
}
if (inmm > 60) {
inhh = inhh + 1;
inmm = inmm % 60;
}
var hh;
var mm;
var ss;
var outtimeArray=outTime.split(":");
outhh= parseInt(outtimeArray[0]);
outmm=parseInt(outtimeArray[1]);
outss=parseInt(outtimeArray[2]);
if (outss > 60) {
outmm = outmm + 1;
outss = outss % 60;
}
if (outmm > 60) {
outhh = outhh + 1;
outmm = outmm % 60;
}
hh=outhh-inhh;
mm=outmm-inmm;
ss=outss-inss;
var hhh = hh == 0 ? "0" + hh : hh;
var mmm = mm == 0 ? "0" + mm : mm;
var sss = ss == 0 ? "0" + ss : ss;
var totalhours = hhh + ":" + mmm + ":" + sss;
【问题讨论】:
-
您用 jquery 标记了问题,但是您提供的代码没有 jquery。您是在寻找只有纯 js 的解决方案,还是 jquery 也可以?虽然看起来根本不需要 jquery
-
最后一行是纯“给我的代码”,会让你投反对票,我会删除它
-
如果你搜索这个,你会得到很多不同的解决方案......
-
他已经表现出一些努力,所以为什么不指导他呢?尝试将这些时间更改为秒,计算以秒为单位的差异,然后更改回小时。
标签: javascript datetime time