0

所以我只是在学习 Javascript,我正在尝试创建一个可以减去时间的计算器。我有其他部分工作(虽然我很喜欢那里的代码反馈,因为我确信它可以得到重大改进),我只需要正确地减去时间。我正在做简单的数学运算,所以当我从 2:00 减去 1:30(小时和分钟是单独的值)时,它给了我 1:30 而不是 00:30。

另一个问题是,除非我按两次“获取结果”按钮,否则每小时的黄金无法计算......

这是我写过的第一个脚本,所以请让我知道我应该做什么,我想以最好和最简单的方式做到这一点。

计算器和脚本在这里:

http://www.coolestwebsiteintheuniverse.com/gold-calculator/

http://www.coolestwebsiteintheuniverse.com/gold-calculator/calc.js

我还希望能够将其扩展到 10 行并对所有行进行平均,但我想一旦弄清楚这部分,我就可以自己解决这个问题。

谢谢

4

2 回答 2

0

您是否尝试过使用日期函数进行减法??

var T1=new Date("September 5, 2012 8:10:00");
var T2=new Date("September 5, 2012 13:35:00");
var diff=new Date();
diff.setTime(T2-T1);
alert(diff.getHours()+":"+diff.getMinutes())
于 2012-07-13T11:09:36.837 回答
0

问题是您在计算时间时将小时与分钟分开。你需要将它们与这样的东西结合起来(未经测试):

var starthh = // ...
var startmm = // ...
var endhh = // ...
var endmm = // ...

var elapsedMinutes = (60 * endhh + endmm) - (60 * starthh + startmm)

var displayTime = Math.floor(elapsedMinutes / 60) + ":" 
                + ("00" + (elapsedMinutes % 60)).slice(-2)

最后一位,("00" + (elapsedMinutes % 60)).slice(-2)取分钟模 60,将其附加到字符串“00”,然后取最后两个字符,作为零填充个位数的快速方法。

于 2012-07-13T11:56:56.373 回答