所以我只是学习Javascript而我正在尝试创建一个可以减去时间的计算器。我有其他部分工作(虽然我喜欢我的代码的反馈,因为我确信它可以进行重大改进),我只需要减去正确的时间。我正在做简单的数学运算,所以当我从2点减1:30(小时和分钟是单独的值)时,它给我1:30而不是00:30。
另一个问题是,除非我按两次“获取结果”按钮,否则每小时金币不会计算....
这是我写过的第一个脚本,所以请让我知道我应该做什么,我想以最好和最简单的方式做到这一点。
计算器和脚本在这里:
http://www.coolestwebsiteintheuniverse.com/gold-calculator/
http://www.coolestwebsiteintheuniverse.com/gold-calculator/calc.js
我也希望能够将它扩展到10行并平均所有这些行,但我想我可以在想出这部分后自己解决这个问题。
由于
答案 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”,然后取最后两个字符,作为零填充单位数字的快速方法。