首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Js进行日期计算

问使用Js进行日期计算
EN

Stack Overflow用户
提问于 2011-03-19 14:17:10
回答 4查看 310关注 0票数 0

我正在使用JS计算我的日期差值,但我没有得到四舍五入的值,请指导我。用于计算近似金额的公式

代码语言:javascript
复制
value1 = todate - fromdate;
value2 = value1 / 30;
value3 = value2 * 5000;

为此,我使用以下代码

代码语言:javascript
复制
 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

EN

回答 4

Stack Overflow用户

发布于 2011-03-19 14:55:19

请解释一下你的逻辑米娜。

在我看来,你的出发点是错误的。

您不能将格式化为"MMDDYYYY“的字符串格式的日期视为”MMDDYYYY“形式,并期望能够减去它们来进行日期计算,除非这两个日期在同一个月。在这种情况下,只需处理日期,而忽略年份和月份。

您的案例: 04022011 - 04012011 == 0001000 (不是应该是00010000吗-注意末尾的额外零?)

那么: 04012011 - 03312011 -把它们当作数字,你会得到00700000,但它应该和上面的一样,因为两个日期只有一天的间隔。

票数 1
EN

Stack Overflow用户

发布于 2011-03-19 14:40:04

您可能需要指定基数,如下所示:

代码语言:javascript
复制
var res =  parseInt('04022011', 10) - parseInt('04012011', 10);
票数 0
EN

Stack Overflow用户

发布于 2011-03-19 14:57:28

不清楚您到底想要做什么,但下面是如何获得两个JavaScript Date对象之间的天数的方法:

代码语言:javascript
复制
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

当你从一个日期中减去另一个日期时,你得到了它们之间的毫秒数。注意,并不是所有的日子都有相同的毫秒数(因为夏令时),显然,月份有不同的天数,所以以这种方式计算日期有其风险。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5360529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档