首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算两个日期之间的差异会导致计算错误。

问计算两个日期之间的差异会导致计算错误。
EN

Stack Overflow用户
提问于 2014-11-25 19:33:31
回答 3查看 71关注 0票数 0

我自己似乎想不出什么办法,

今天的日期是2014年11月25日减去11/26/2014,计算结果应该是-1

今天的日期是2014年11月25日减去11/25/2014,计算结果应为0

今天的日期是2014年11月25日减去11/24/2014,计算结果应该是1

下面的功能似乎错了,我需要一双新的眼睛。

代码语言:javascript
复制
var today = new Date()

var date1 = new Date("11/26/2014");

var diffDays = Math.ceil((today.getTime() - date1.getTime())/(1000*60*60*24));

alert(diffDays)

函数本身显示结果0,这是错误的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-25 19:40:15

您需要math.round或math.abs:

代码语言:javascript
复制
var today = new Date()

var date1 = new Date("11/26/2014");

var diffDays = Math.round((today.getTime() - date1.getTime())/(1000*60*60*24));

alert(diffDays)
票数 1
EN

Stack Overflow用户

发布于 2014-11-25 19:39:41

如果您只是想要区别,不管订单是什么,您将需要Math.abs以确保您没有负数。

代码语言:javascript
复制
var diffDays = Math.ceil(Math.abs(today.getTime() - date1.getTime())/(1000*60*60*24));
票数 1
EN

Stack Overflow用户

发布于 2014-11-25 19:44:39

日期差异将导致-0.42831302083333334,Math.ceil()将其舍入到最接近的正整数,这将导致0。

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

https://stackoverflow.com/questions/27135134

复制
相关文章

相似问题

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