我正在使用JS计算我的日期差值,但我没有得到四舍五入的值,请指导我。用于计算近似金额的公式
value1 = todate - fromdate;
value2 = value1 / 30;
value3 = value2 * 5000;为此,我使用以下代码
var preioddiff = parseInt(todate ) - parseInt(fromdate);
var dividen = preioddiff / 30;
var totappamt = dividen * parseInt(5000);但是它没有给出正确的答案。
例如,如果使用parseInt(todate )-parseInt(Fromdate)减去值,则From Date为04012011,to date为04022011;它返回值13303380而不是0001000
发布于 2011-03-19 14:55:19
请解释一下你的逻辑米娜。
在我看来,你的出发点是错误的。
您不能将格式化为"MMDDYYYY“的字符串格式的日期视为”MMDDYYYY“形式,并期望能够减去它们来进行日期计算,除非这两个日期在同一个月。在这种情况下,只需处理日期,而忽略年份和月份。
您的案例: 04022011 - 04012011 == 0001000 (不是应该是00010000吗-注意末尾的额外零?)
那么: 04012011 - 03312011 -把它们当作数字,你会得到00700000,但它应该和上面的一样,因为两个日期只有一天的间隔。
发布于 2011-03-19 14:40:04
您可能需要指定基数,如下所示:
var res = parseInt('04022011', 10) - parseInt('04012011', 10);发布于 2011-03-19 14:57:28
不清楚您到底想要做什么,但下面是如何获得两个JavaScript Date对象之间的天数的方法:
var d1 = new Date('March 1');
var d2 = new Date('March 19');
var days_diff = Math.round((d2 - d1)/86400000);
alert(days_diff); // output is 18当你从一个日期中减去另一个日期时,你得到了它们之间的毫秒数。注意,并不是所有的日子都有相同的毫秒数(因为夏令时),显然,月份有不同的天数,所以以这种方式计算日期有其风险。
https://stackoverflow.com/questions/5360529
复制相似问题