简单的javascript时间/金钱每小时计算器

时间:2012-07-13 11:05:14

标签: javascript time calculator

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

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

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

计算器和脚本在这里:

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

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

我也希望能够将它扩展到10行并平均所有这些行,但我想我可以在想出这部分后自己解决这个问题。

由于

2 个答案:

答案 0 :(得分: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())

答案 1 :(得分: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”,然后取最后两个字符,作为零填充单位数字的快速方法。